正则表达式 - 名字和javaScript

时间:2014-01-01 17:19:46

标签: javascript jquery css regex facebook

我正在尝试创建一个JavaScript regexp,例如facebook用于实名:

    名称不能包括:
  • 符号
  • 异常资本化
  • 重复字符或标点符号

source: Facebook help center
这是我的正则表达式:

 /^[a-z \,\.\'\-]+$/i

此正则表达式的问题在于它不检查重复的字符或标点符号:
然后我发现了这个:

/(.)\1/

所以我现在正在检查它:

$('input [type=text]).keyup(function(){
var name = $(this).val();
var myregex = /^[a-z\,\.\'\-]+$/i
var duplicate =  /(.)\1/
if(name != myregex.exec(name) ||  name == /(.)\1/)
{// the name entered is wrong
}
else
//the name is ok

但我遇到的问题是输入如下:

  • 摩尔
  • Callie
  • 玛吉

我能做些什么才能解决问题?

1 个答案:

答案 0 :(得分:0)

你应该停止尝试解决这个问题:

  • 非常复杂
  • 姓名非常个人化

例如,您的系统永远无法验证来自中国的名称 或日本....(例如:BørreØrevål,汉/汉)

所以只要留下整个想法,让人们自由地输入他们的名字,没有任何限制。

相关:Regular expression for validating names and surnames?