正則-完美的身份證以及真實姓名

驗證真實姓名的正則(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:由於項目的規模比較小,暫時沒有公安系統的那種真實姓名和身份證號的一對一匹配,這點就尷尬了,哈哈哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章