jQuery ISBN无验证:如何验证ISBN号格式?

时间:2015-10-10 17:48:18

标签: jquery jquery-validate

我正在使用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);
     }

1 个答案:

答案 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号的示例代码。