gpt4 book ai didi

javascript - 用于名称验证的正则表达式仅允许字母和空格

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:12:10 24 4
gpt4 key购买 nike

如果输入仅包含空格,我将尝试使用 jQuery Validator 进行验证,并且仅当其中包含字母时才允许使用空格。

请注意,如果名称包含数字,它也应该显示错误。仅允许以字母开头的空格。

这是我到目前为止只允许字母和空格的内容:

jQuery.validator.addMethod("letterswithspace", function(value, element) {
return this.optional(element) || /^[a-z\s]+$/i.test(value);
}, "letters only");

也试过这个,但它会 trim 字符串并且不能在名称之间添加空格:

first_name : {
letterswithspace : true,
required: {
depends:function(){
$(this).val($.trim($(this).val()));
return true;
}
}
}

最佳答案

匹配条件:

  • 表达式只能以字母开头
  • 表达式可以包含字母或空格

你需要使用这个正则表达式:

/^[a-z][a-z\s]*$/

所以在你的js中它应该是:

jQuery.validator.addMethod("letterswithspace", function(value, element) {
return this.optional(element) || /^[a-z][a-z\s]*$/i.test(value);
}, "letters only");

解释

  1. ^[a-z]表示以一个字母开头
  2. [a-z\s]*$ 表示在接受零个或多个字母或空格之后

有效句子

如果你想要一个有效的句子结构:

  • 表达式只能以字母开头或结尾
  • 表达式不能包含连续的空格

使用:

/^([a-z]+\s)*[a-z]+$/

顺便说一下

  1. 这些正则表达式不接受大写字母。要添加大写字母支持而不是 a-z,请使用 a-zA-Z

关于javascript - 用于名称验证的正则表达式仅允许字母和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com