我需要验证像
这样的名字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');
}
答案 0 :(得分:8)
您可以使用以下正则表达式:
[a-zA-Z]+(?:(?:\. |[' ])[a-zA-Z]+)*
(?:\. |[' ])
表示&#34;点后跟空格,或撇号,或空格&#34;。例如,如果您还需要允许大肆宣传,请将[' ]
替换为[' -]
(必须在要匹配的类的开头或结尾处进行宣传)。有关详情,请访问http://www.regular-expressions.info/。
答案 1 :(得分:2)
var re = /^[A-Za-z\'\s\.\,]+$/
尝试使用此正则表达式来满足您的要求
答案 2 :(得分:1)
试试这个/^\w(\w|\s|['.])*$/
。