我使用驗證插件從http://bassistance.de/jquery-plugins/jquery-plugin-validation/jQuery驗證插件:只接受字母?
什麼,我試圖找到一個辦法讓我的一些表單字段的接受信件而已,沒有數字,特殊字符等..
任何想法的人? 非常感謝。
我使用驗證插件從http://bassistance.de/jquery-plugins/jquery-plugin-validation/jQuery驗證插件:只接受字母?
什麼,我試圖找到一個辦法讓我的一些表單字段的接受信件而已,沒有數字,特殊字符等..
任何想法的人? 非常感謝。
只需添加自定義驗證,並使用它像這樣:
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」這樣的表達式。
嘗試這樣的:在您的腳本代碼如下
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.", ""];
}
使用。 這會爲驗證程序添加一個新的子句。
$.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]$" })
下面的方法來添加自定義驗證工作正常,但確認發生在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驗證插件已經呼籲lettersonly
爲the additional-methods.js
file一部分的規則,它看起來像這樣...
$.validator.addMethod("lettersonly", function(value, element) {
return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Letters only please");
添加CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/additional-methods.js"></script>
rules:{
txtname:{required: true,
lettersonly:true
}
嘗試這:(這是完美的自定義驗證使用jQuery驗證程序)
$(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"
},
}
});
});
accept是驗證文件擴展名的本機方法。 http://docs.jquery.com/Plugins/Validation/Methods/accept#extension –
不應該'''是'^'? –
順便說一句,創建一個新規則是不必要的,因爲插件已經有一個名爲'lettersonly'的規則作爲['additional-methods.js'文件]的一部分(https://cdnjs.cloudflare.com/ajax/libs /jquery-validate/1.15.0/additional-methods.js)。 – Sparky