我正在使用jQuery验证插件。如何验证jQuery规则或模式或正则表达式中的ISBN号格式?是否有任何正则表达式来实现这一目标? 请分享你的想法。
jQuery.validator.addMethod("isbnNo", function(value, element) {
return isValidISBN(value);
}, "Please enter valid ISBN number");
// ISBN Number validationValidation
function isValidISBN(isbn) {
isbn = isbn.replace(/[^\dX]/gi, '');
if(isbn.length < 10 || isbn.length > 13){
return false;
}
var chars = isbn.split('');
if(chars[9].toUpperCase() == 'X'){
chars[9] = 10;
}
var sum = 0;
for (var i = 0; i < chars.length; i++) {
sum += ((10-i) * parseInt(chars[i]));
};
return ((sum % 11) == 0);
}
答案 0 :(得分:1)
用于验证ISBN号。您可以将自定义规则添加到jquery验证器,如:
jQuery.validator.addMethod("ruleName", function(value, element) {
return (condition);
}, "Custom Error message");
然后将其添加到以下形式:
$('#formId').validate({
rules : {
fieldName : { ruleName : true }
}
});
此http://neilang.com/articles/how-to-check-if-an-isbn-is-valid-in-javascript/是验证ISBN号的示例代码。