jQueryvalidation插件:只接受字母字符?
我想使用jQuery的validation插件来validation只接受字母字符的字段,但似乎没有为它定义规则。 我搜索过Google,但我发现没什么用处。
有任何想法吗?
感谢您的帮助。
如果您包含其他方法文件,这里是1.7的当前文件: http : //ajax.microsoft.com/ajax/jquery.validate/1.7/additional-methods.js
你可以使用lettersonly
规则:)其他方法是你下载的zip的一部分,你总是可以在这里找到最新的。
这是一个例子:
$("form").validate({ rules: { myField: { lettersonly: true } } });
值得注意的是,每个额外的方法都是独立的,你可以包含那个特定的方法,只需将它放在你的.validate()
调用之前:
jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[az]+$/i.test(value); }, "Letters only please");
小心,
jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[az," "]+$/i.test(value); }, "Letters and spaces only please");
[az,“”]通过添加逗号和引号,您可以在输入框中使用空格,逗号和引号。
对于空格+文本,只需执行以下操作:
jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[az ]+$/i.test(value); }, "Letters and spaces only please");
[az]这允许空格以及仅文本。
………………………………………….. ……………………..
如果您在消息中已经有消息,则不需要消息“仅请来信和空格”:
messages:{ firstname:{ required: "Enter your first name", minlength: jQuery.format("Enter at least (2) characters"), maxlength:jQuery.format("First name too long more than (80) characters"), lettersonly:jQuery.format("letters only mate") },
亚当
只是Nick的答案的一小部分(效果很好!):
例如,如果要在字母之间允许空格,则可以限制只输入全名字母,但也应该允许空格 – 只需用逗号列出下面的空格。 如果您需要允许任何其他特定字符,则以同样的方式:
jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[az," "]+$/i.test(value); }, "Letters and spaces only please");
尼克和亚当的答案都很有效。
我想添加一个注释,如果你想像我想要的那样允许像á
和ç
这样的拉丁字符:
jQuery.validator.addMethod('lettersonly', function(value, element) { return this.optional(element) || /^[az áãâäàéêëèíîïìóõôöòúûüùçñ]+$/i.test(value); }, "Letters and spaces only please");
允许字母和空格
jQuery.validator.addMethod("lettersonly", function(value, element) { return this.optional(element) || /^[az\s]+$/i.test(value); }, "Only alphabetical characters"); $('#yourform').validate({ rules: { name_field: { lettersonly: true } } });
$('.AlphabetsOnly').keypress(function (e) { var regex = new RegExp(/^[a-zA-Z\s]+$/); var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); if (regex.test(str)) { return true; } else { e.preventDefault(); return false; } });