中英⽂姓名及⼿机号的正则表达式
中英⽂姓名及⼿机号的正则表达式
在正则表达式中规则的不同直接导致了表达式的差异,⼀般的⼿机号验证为:
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]+)*$/;js中文正则表达式
相对于前者,取消掉了名字个数的限制,并且⽀持中间加“·”的姓名的判断。
对于中英⽂姓名,继续把上式进⾏增强:
var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;
上式适⽤于判断中英⽂姓名,鉴于英⽂姓名中间常有空格,所以也加⼊了适⽤空格的判断;中⽂姓名也⽀持空格以及“·”的匹配。