中英文姓名及手机号的正则表达式
在正则表达式中规则的不同直接导致了表达式的差异,一般的手机号验证为:
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
该表达式仅支持13*、15*、18*这三种手机号,但是在具体项目中针对不同的情况进行酌情的增减。
当前,一般手机号的规则有:
中国移动:139、138、137、136、135 、134、188、187、182、159、158、157 、152 、150
电信:133、153、180、189、181
联通:130 、131、132、155、156、186、185、145
随着支付宝以及各种银行卡也支持办理手机号,号码段以后会增加更多,请酌情增减。
中英文姓名正则匹配
中文姓名匹配的表达式为:
var namereg = /^[\u4E00-\u9FA5]{2,4}$/;
表达式前段标识匹配中文字符,后面的2,4表示长度不小于2,不大于4,鉴于少数民族的姓名长度较长,并且中间会出现“·”,增强的中文姓名匹配正则表达式如下:
var namereg = /^[\u4E00-\u9FA5]+(·[\u4E00-\u9FA5]+)*$/;
相对于前者,取消掉了名字个数的限制,并且支持中间加“·”的姓名的判断。
对于中英文姓名,继续把上式进行增强:
var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;