驗證真實姓名的正則(2-30位):
var reg= /^(([a-zA-Z+\.?\·?a-zA-Z+]{2,30}$)|([\u4e00-\u9fa5+\·?\u4e00-\u9fa5+]{2,30}$))/;
改正則支持中文以及英文姓名:
中文:大衛·波菲爾、王林 、上官飛燕等純中文以及圓點組合(名字的長度可以自用限制)
英文:Mr.li 等一系列
驗證身份證號的正則:
var reg=/^(^[1-9]\d{5}[1-9]\d{3}(((0[2])([0|1|2][0-8])|(([0-1][1|4|6|9])([0|1|2][0-9]|[3][0]))|(((0[1|3|5|7|8])|(1[0|2]))(([0|1|2]\d)|3[0-1]))))((\d{4})|\d{3}[Xx])$)$/;
該正則支持15 和18的所有的身份證號,項目中急着用,那就拿走吧!
驗證真實姓名的方法如下:
var checkTrueName=function () {
var str=$(this).val();
var reg= /^(([a-zA-Z+\.?\·?a-zA-Z+]{2,30}$)|([\u4e00-\u9fa5+\·?\u4e00-\u9fa5+]{2,30}$))/;
//判斷用戶輸入的真實姓名是否爲空
if(str.length==0){
$(".has-error").text("真實姓名不能爲空");
return false;
}
//檢測姓名的格式是否匹配
else if(!reg.test(str)){
$(".has-error").text("姓名輸入有誤,請重新輸入");
return false;
}
else {
return true;
}
},
上面的代碼看着每次驗證的話都返回了一個布爾值(這個是用來最終的提交判斷的
),可能同時涉及到多個驗證,當我們的驗證都返回true的時候,再去請求後臺藉口。
當我們在最終的提交認證的時候:
if(checkTrueName() && otherFunction()&& ...){
//只有當方法執行的時候返回的爲true的時候,纔去調用後臺藉口
$.ajax(option)
}
需要注意是checkTrueName中的$(this)
,在使用的時候要換成具體的表單元素,因爲在點擊提交的時候$(this)
已經發生了變化(不是我們要操作的dom元素了)。
ps:由於項目的規模比較小,暫時沒有公安系統的那種真實姓名和身份證號的一對一匹配,這點就尷尬了,哈哈哈!