Kiểm tra tính hợp lệ của biểu mẫu

Khi lập trình với form để tránh những lỗi nhập không chính xác bạn cần kiểm tra tính hợp lệ của "biểu mẫu" như kiểm tra Email hợp lệ, Kiểm tra ngày tháng theo định dạng dd/mm/yyyy, ...




Microsoft đã cung cấp thư viện Navigation để kiểm thực hiện việc này bàng các RegularExpressionValidator, RangeValidator, CompareValidator. Nhưng nếu bạn cần kiểm tra bằng javascript thì bạn cần tạo thư viện validate.js
Tôi giới thiệu một ví dụ kiểm tra tính hợp lệ của email: 

<script language="javascript">
var email;
function checkEmail() 
{
   email = document.getElementById("txtemail");
   var filter = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
   if (!filter.test(email.value)) 
   {
 return false;
   }
}
function check(){
   var email_incorect = checkEmail();
   if(email_incorect == false)
   {
 alert("Email nhập chưa không hợp lệ.");
 email.focus();
   }
   else
   {
 alert("Email hợp lệ̀ :"+email.value);
 email.focus();
   }
}
</script>
Nội dung trong thẻ body như sau:
<body>
<label for="textfield">email</label>
<input type="text" name="txtemail" id="txtemail" />
<label for="Submit"></label>
<input type="button" 
 name="btok" 
 value="Button" 
 id="Submit" 
 onclick="check()" />
</body>
Ngoài ra bạn có thể tham khảo thêm một số tiêu trí để thực hiện việc kiểm tra biểu mẫu sau:
 var filter = /^\d*(\.\d+)?$/;     //Chỉ các số dương
var filter = /^((\+\-)\d)?\d*$/;     //Chỉ các số nguyên
 ....
hoặc bạn có thể vào trang http://regexlib.com/Default.aspx và search loại validate như Email, number, Datetime...
Chúc các bạn thành công