JavaScript regexp用特殊字符(如撇号和空格)验证Name

时间:2014-07-15 09:45:49

标签: javascript regex validation

我需要验证像

这样的名字
Dr. D'souza (valid)
Mr. John (valid)
Doe (valid)

即。允许完全停止,空格和撇号

并在输入$ * + ?|\><:;[]{} etc等无效特殊字符时通知用户 我是regexp的新手。尝试改变一些,但无法匹配

var errmsg = new Array;
var re = /^[a-zA-Z'.,]+({0,1}[a-zA-Z-, ])*$/;

if (!re.test($(this).val())) {
    errmsg.push($(this).attr('placeholder') + ' is invalid');
}

3 个答案:

答案 0 :(得分:8)

您可以使用以下正则表达式:

[a-zA-Z]+(?:(?:\. |[' ])[a-zA-Z]+)*

Regular expression visualization

(?:\. |[' ])表示&#34;点后跟空格,或撇号,或空格&#34;。例如,如果您还需要允许大肆宣传,请将[' ]替换为[' -](必须在要匹配的类的开头或结尾处进行宣传)。有关详情,请访问http://www.regular-expressions.info/

Debuggex Demo

答案 1 :(得分:2)

var re = /^[A-Za-z\'\s\.\,]+$/

尝试使用此正则表达式来满足您的要求

答案 2 :(得分:1)

试试这个/^\w(\w|\s|['.])*$/