使用撇号和空格等特殊字符验证名称的 JavaScript 正则表达式

标签 javascript regex validation

我需要验证像这样的名字

Dr. D'souza (valid)
Mr. John (valid)
Doe (valid)

即允许句号、空格和撇号

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

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');
}

最佳答案

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

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

Regular expression visualization

(?:\. |[' ]) 表示“点后跟空格、撇号或空格”。例如,如果您还需要允许使用连字符,请将 [' ] 替换为 [' -](连字符必须位于类的开头或结尾要匹配)。更多信息,请访问 http://www.regular-expressions.info/ .

Debuggex Demo

关于使用撇号和空格等特殊字符验证名称的 JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754914/

相关文章:

javascript - 使用 CSS/JS 定位特定元素之后的元素

javascript - 将随机 background.color 分配给具有随机 ID 的对象

regex - 匹配指定字符之前所有出现的正则表达式

JavaScript 面向对象 : Implementation of Logging

javascript - 如何在填写所有输入字段之前禁用表单提交按钮?! ReactJS ES2015

jquery - 如何使用 jQuery 使用图标作为通过/失败指示器进行表单验证?

使用多个 if 语句的 javascript 表单验证

javascript - 在验证时阻止日历控件打开

javascript - 如何使用正则表达式替换部分字符串?

regex - 使用 grep 或 sed 从日志中提取电子邮件地址