JavaScript 表單驗(yàn)證

2022-02-10 11:30 更新

JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對 HTML 表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證。

表單數(shù)據(jù)經(jīng)常需要使用 JavaScript 來驗(yàn)證其正確性:

  • 驗(yàn)證表單數(shù)據(jù)是否為空?
  • 驗(yàn)證輸入是否是一個(gè)正確的email地址?
  • 驗(yàn)證日期是否輸入正確?
  • 驗(yàn)證表單輸入內(nèi)容是否為數(shù)字型?

必填(或必選)項(xiàng)目

下面的函數(shù)用來檢查用戶是否已填寫表單中的必填(或必選)項(xiàng)目。假如必填或必選項(xiàng)為空,那么警告框會彈出,并且函數(shù)的返回值為 false,否則函數(shù)的返回值則為 true(意味著數(shù)據(jù)沒有問題):

function validateForm() {        
    var x=document.forms["myForm"]["fname"].value;        
    if (x==null || x==""){        
        alert("First name must be filled out");        
        return false;        
    }        
}

以上函數(shù)在 form 表單提交時(shí)被調(diào)用:

實(shí)例

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

嘗試一下 ?


E-mail 驗(yàn)證

下面的函數(shù)檢查輸入的數(shù)據(jù)是否符合電子郵件地址的基本語法。

意思就是說,輸入的數(shù)據(jù)必須包含 @ 符號和點(diǎn)號(.)。同時(shí),@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個(gè)點(diǎn)號:

function validateForm(){        
var x=document.forms["myForm"]["email"].value;        
var atpos=x.indexOf("@");        
var dotpos=x.lastIndexOf(".");        
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){        
  alert("Not a valid e-mail address");        
  return false;        
  }       
}

下面是連同 HTML 表單的完整代碼:

實(shí)例

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="Submit">
</form>

嘗試一下 ?

數(shù)字驗(yàn)證

下面的函數(shù)檢查輸入的數(shù)據(jù)是否是1~10之間的數(shù)字。假如輸入的不為數(shù)字或不是,那么警告框會彈出,并且函數(shù)的返回值為 false,否則函數(shù)的返回值則為 true(意味著數(shù)據(jù)沒有問題):

實(shí)例

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post"> 

<strong>請輸入1到10之間的數(shù)字:</strong>

<input id="number">

<button type="button" onclick="myFunction()">提交</button>

</form>


嘗試一下 ?

相關(guān)文章

JavaScript標(biāo)準(zhǔn)參考教程:JavaScript 表單


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號