【问题标题】:allow only letters and spaces validate jquery只允许字母和空格验证 jquery
【发布时间】:2013-11-04 17:14:36
【问题描述】:

我有这个代码:

$(document).ready(function(){
        jQuery.validator.addMethod("lettersonly", function(value, element) {
            return this.optional(element) || /^[a-z]+$/i.test(value);
        }, "Only alphabetical characters"); 

但是如果我插入一个像“Mary Jane”这样的双重名称,那么空格就会产生问题。如何在我的规则中也允许空格?

【问题讨论】:

  • 你知道[a-z]部分是什么意思吗?

标签: php jquery jquery-validate alphanumeric


【解决方案1】:

您需要将空格字符 (\s) 添加到您的正则表达式:

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

【讨论】:

    【解决方案2】:

    ^\S\n

    将其添加到方括号之间

    这是一个双重否定,用于检查非非空白或非换行符。

    它只会检查 空格,而不是换行符。 您的测试应如下所示:

    /^[a-z^\S\n]+$/i.test(value)
    

    来源: @Greg Bacon's answer

    编辑:您可能还想为大写字母添加A-Z

    【讨论】:

      【解决方案3】:
      jQuery.validator.addMethod("lettersonly", function(value, element) {
      return this.optional(element) || /^[a-z\s]+$/i.test(value);
      }, "Only alphabetical characters");
      

      $('#yourform').validate({
                  rules: {
                      name_field: {
                          lettersonly: true
                      }
      }
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-07
        • 2018-06-04
        • 1970-01-01
        • 2013-03-26
        相关资源
        最近更新 更多