js 正则匹配中文姓名

2018-2-6 22:41:20 4,370 views

姓名正则

/^[\u4e00-\u9fa5]{1,6}(·[\u4e00-\u9fa5]{1,6}){0,2}$/
匹配1到6个中文中间允许"·"+1到6个中文出现0到2次。主要为了考虑少数民族的名字  例如:买买提伊敏·伊敏诺夫
/^[\u4e00-\u9fa5]{1,6}(·[\u4e00-\u9fa5]{1,6}){0,2}([,,][\u4e00-\u9fa5]{1,6}(·[\u4e00-\u9fa5]{1,6}){0,2})*$/
可以匹配多个名字 例如:在,在·在,住宿费
因为项目需要用到姓名正则匹配,网上找了好多都发现不合适。找了个差不多的,然后修改了下。
将正则复制过去就好,需要去掉头尾的/ /   体验==》  http://tool.oschina.net/regex/  
 

测试用例

输入6个中文,成功
测试
输入8个中文,失败
测试
输入6个中文加点,失败
测试
输入6个中文加点加中文,成功
测试
输入2个中文加数字,失败
测试
输入2个中文加特殊字符,失败
测试
js代码例子

var regexp=/^[\u4e00-\u9fa5]{1,6}(·[\u4e00-\u9fa5]{1,6}){0,2}$/;
if(!regexp.test(value)){
alert("你输入的姓名有误!");
$(this).val("");
}

 

3

One Comment

  • 潇青博客 2018年2月10日 at 上午8:19

    哈哈不会用啊,一点也看不懂。

发表评论

邮箱地址不会被公开。 必填项已用*标注

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。