jQueryvalidation插件:只接受字母?

我正在使用来自http://bassistance.de/jquery-plugins/jquery-plugin-validation/的validate插件

我想要找到的是一种方法,使我的一些表单字段只接受字母,没有数字,特殊字符等…

有人在想吗? 非常感谢。

只需添加一个自定义validation器,并像这样使用它:

jQuery.validator.addMethod("accept", function(value, element, param) { return value.match(new RegExp("." + param + "$")); }); 

只有数字:

 rules: { field: { accept: "[0-9]+" } } 

只有信件

 rules: { field: { accept: "[a-zA-Z]+" } } 

一个小小的变化。

 jQuery.validator.addMethod("accept", function(value, element, param) { return value.match(new RegExp("^" + param + "$")); }); 

因为这样它接受像“#abc”这样的表达。

在脚本中使用以下代码。 这将为您的validation器添加一个新子句。

 $.validator.addMethod( "alphabetsOnly", function(value, element, regexp) { var re = new RegExp(regexp); return this.optional(element) || re.test(value); }, "Please check your input values again!!!." ); $("#formElement").rules("add", {alphabetsOnly: "^[a-zA-Z'.\\s]$" }) 

试试这样:

  var numbers = /[0-9]+/; var SpCharacters = /^\s*[a-zA-Z0-9\s]+\s*$/; if (!numbers.test(name) && !SpCharacters.test(name)) { return [false, "Name should be alphabetical.", ""]; } 

以下添加自定义validation器的方法工作正常,但validation发生在keyup上,因此在用户键入文本时错误会一直弹出。

 return value.match(new RegExp("")); 

以下方法适用于字母和空格,非常适合名称字段。

 jQuery.validator.addMethod("alphabetsAndSpacesOnly", function (value, element) { return this.optional(element) || /^[a-zA-Z\s]+$/.test(value); }); $("FieldId").rules("add", { alphabetsAndSpacesOnly: true, messages: { alphabetsAndSpacesOnly: "Please enter a valid name." } }); 

jQuery Validate插件已经有一个名为lettersonly的规则作为additional-methods.js文件的一部分 ,看起来像这样……

 $.validator.addMethod( "lettersonly", function( value, element ) { return this.optional( element ) || /^[az]+$/i.test( value ); }, "Letters only please" ); 

添加cdn

  rules:{ txtname:{required: true, lettersonly:true } 

试试这个:( 这是使用jqueryvalidation器的完美自定义validation

 $(function() { $.validator.addMethod("alphabetsnspace", function(value, element) { return this.optional(element) || /^[a-zA-Z ]*$/.test(value); }); $("#add-employee").validate({ rules: { employee_surname: { required: true, alphabetsnspace: true }, employee_firstname: { required: true, alphabetsnspace: true }, employee_othername: { alphabetsnspace: true }, father_name: { required: true, alphabetsnspace: true }, mother_name: { required: true, alphabetsnspace: true }, spouse_name: { alphabetsnspace: true }, ssn: { number: true, }, phone_no: { number: true, }, phone_no2: { number: true, }, passport: { number: true, }, driving_license: { number: true, }, email: { email: true } }, messages: { "employee_surname":{ alphabetsnspace: "Please Enter Only Letters" }, "employee_firstname":{ alphabetsnspace: "Please Enter Only Letters" }, "employee_othername":{ alphabetsnspace: "Please Enter Only Letters" }, "father_name":{ alphabetsnspace: "Please Enter Only Letters" }, "mother_name":{ alphabetsnspace: "Please Enter Only Letters" }, "spouse_name":{ alphabetsnspace: "Please Enter Only Letters" }, } }); });