2014-04-01 68 views
13

我的驗證只接受字母。我想要允許空格。Jquery驗證:只允許字母和空格

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

需要做什麼改變?

回答

21

相反,下面的正則表達式的:

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

使用此:

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

這也將採取空間。

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

您的驗證是正確的。你只需要改變正則表達式/^[a-zA-Z ]*$/

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

模式使用 「/^[A-ZA-Z] * $ /」