用于在 jquery validate 中的名称中的单词之间接受空格的正则表达式
我在 jquery validate 中使用以下规则来创建一个名为 nombre 的名称字段,仅接受字母。
jQuery.validator.addMethod("nombre", function(value, element, param) {
return jQuery.trim(value).match(new RegExp("^(?:" + param + ")$"));
});
$("#nombre").rules("add", { nombre: "[a-zA-Z]+"})
我希望正则表达式接受类似
Polly Jean Harvey
或
P.J. Harvey
作为有效名称的内容(它们目前被拒绝)。如何在正则表达式中添加单词和句点之间的空格?当然,我还是想拒绝空白的名字。
I'm using the following rule in jquery validate to make a name field, called nombre, only accept letters.
jQuery.validator.addMethod("nombre", function(value, element, param) {
return jQuery.trim(value).match(new RegExp("^(?:" + param + ")$"));
});
$("#nombre").rules("add", { nombre: "[a-zA-Z]+"})
I want the regex to accept something like
Polly Jean Harvey
or
P.J. Harvey
as valid names, (they are currently rejected). How can I add space between words and periods to the regex? Of course, I still want to reject blank names.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
[a-zA-Z。 ]+
作为正则表达式。它将接受空格和点。
但您可以有不同的名称,例如“Pierre-Henry de la Brancardière”。而且这种名称是无效的。
由于 javascript 不支持带有
\p
的 unicode,我建议您将无效字符列入黑名单,而不是白名单。You can use
[a-zA-Z. ]+
as a regex.It will accept spaces and dots.
But You can have different names such as "Pierre-Henry de la Brancardière". And this sort of name would be invalid.
As javascript doesn't support unicode with
\p
I would suggest you to do a blacklist of invalid characters instead of a whitelist.