正则-完美的身份证以及真实姓名

验证真实姓名的正则(2-30位):javascript

var reg= /^(([a-zA-Z+\.??a-zA-Z+]{2,30}$)|([\u4e00-\u9fa5+?\u4e00-\u9fa5+]{2,30}$))/;

改正则支持中文以及英文姓名:
中文:大卫·波菲尔、王林 、上官飞燕等纯中文以及圆点组合(名字的长度能够自用限制)
英文:Mr.li 等一系列 java

验证身份证号的正则:web

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的全部的身份证号,项目中急着用,那就拿走吧!ajax

验证真实姓名的方法以下:markdown

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的时候,再去请求后台借口。dom

当咱们在最终的提交认证的时候:svg

if(checkTrueName() && otherFunction()&& ...){
//只有当方法执行的时候返回的为true的时候,才去调用后台借口
$.ajax(option)
}

须要注意是checkTrueName中的$(this),在使用的时候要换成具体的表单元素,由于在点击提交的时候$(this)已经发生了变化(不是咱们要操做的dom元素了)。this

ps:因为项目的规模比较小,暂时没有公安系统的那种真实姓名和身份证号的一对一匹配,这点就尴尬了,哈哈哈!spa