Jquery验证:仅允许使用字母和空格

时间:2014-04-01 05:42:56

标签: javascript jquery jquery-validate

我的验证仅接受字母表。我也想要允许空格。

 $.validator.addMethod("alpha", function(value, element) {
    return this.optional(element) || value == value.match(/^[a-zA-Z]+$/);
 });

这里需要做些什么改变?

6 个答案:

答案 0 :(得分:23)

而不是以下正则表达式:

/^[a-zA-Z]+$/

使用此:

/^[a-zA-Z\s]+$/

这也将占用空间。

答案 1 :(得分:2)

只需留出空格或在正则表达式中使用\s

$.validator.addMethod("alpha", function(value, element) {
    return this.optional(element) || value == value.match(/^[a-zA-Z\s]+$/);
    // --                                    or leave a space here ^^
});

答案 2 :(得分:2)

jQuery.validator.addMethod("lettersonlys", function(value, element) {
  return this.optional(element) || /^[a-zA-Z ]*$/.test(value);
}, "Letters only please");

模式使用“/ ^ [a-zA-Z] * $ /”

答案 3 :(得分:1)

您的验证是正确的。您只需要更改正则表达式/^[a-zA-Z ]*$/

$.validator.addMethod("alpha", function(value, element) {
    return this.optional(element) || value == value.match(/^[a-zA-Z ]*$/);
 });

答案 4 :(得分:0)

**

  

我在上面尝试过,但是在给定的正则表达式中空间是一个问题   / ^ [a-zA-Z \ s] + $ /和/ ^ [a-zA-Z] + $ /。以下为我工作:

**

  $('.name-val').keypress(function (e) {
    var regex = new RegExp("^[a-zA-Z ]+$");
    var strigChar = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(strigChar)) {
        return true;
    }
    return false
  });

答案 5 :(得分:-2)

Please use these pattern for validation.   
var pattern = /^[a-zA-Z]+$/;
if(!pattern.test(name) && name !=''){
    return false;
}