我已经为JQuery验证插件添加了一个自定义方法,并且在浏览了许多问题后,我在这里和其他页面上找不到它。JQuery验证插件的自定义方法不起作用
我没有输入自定义电话号码字段时收到一条错误消息,但是当我输入例如字母“A”时,表单确实通过。
我该如何解决这个问题?
<!DOCTYPE html>
<html>
\t <head>
\t \t <meta charset="ISO-8859-1">
\t \t <title>Insert title here</title>
\t </head>
\t <body>
\t \t <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>
\t \t <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
\t \t <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>
\t \t <form action="" id="registration-form">
\t \t \t <p>
\t \t \t Firstname
\t \t \t <input name="firstname" data-validation="required"
\t \t \t \t \t data-validation-length="1-30"
\t \t \t \t \t data-validation-error-msg="Firstname has to be an alphabetical value (1-30 chars)">
\t \t \t </p>
\t \t
\t \t \t <p>
\t \t \t Prefix
\t \t \t <input name="prefix" data-validation="required"
\t \t \t \t \t data-validation-length="1-20"
\t \t \t \t \t data-validation-error-msg="Prefix has to be an alphabetical value (1-20 chars)">
\t \t \t </p>
\t \t
\t \t \t <p>
\t \t \t Lastname
\t \t \t <input name="lastname" data-validation="required"
\t \t \t \t \t data-validation-length="1-50"
\t \t \t \t \t data-validation-error-msg="Lastname has to be an alphabetical value (1-50 chars)">
\t \t \t </p>
\t \t
\t \t \t <p>
\t \t \t Company
\t \t \t <input name="company" data-validation="required"
\t \t \t \t \t data-validation-length="1-50"
\t \t \t \t \t data-validation-error-msg="Company has to be an alphabetical value (1-50 chars)">
\t \t \t </p>
\t \t
\t \t \t <p>
\t \t \t Phonenumber
\t \t \t \t <input name="phonenumber" data-validation="required phonenumber"
\t \t \t \t \t data-validation-error-msg="This is not a valid phonenumber">
\t \t \t </p>
\t \t
\t \t <p>
\t \t \t E-mail
\t \t \t <input name="mail" data-validation="email"
\t \t \t \t \t data-validation-error-msg="E-mail has to be a valid email">
\t \t \t </p>
\t \t
\t \t \t <p>
\t \t \t <input value="Validate" type="submit">
\t \t \t <input value="Reset form" type="reset">
\t \t \t </p>
\t \t </form>
\t \t
\t \t <script>
\t \t \t $(document).ready(function() {
\t \t \t \t $.validator.addMethod('phonenumber', function (value, element) {
\t \t \t \t return this.optional(element) || /^(\+91-|\+91|0)?\d{10}$/.test(value);
\t \t \t \t }, "Please enter a valid phone number");
\t \t \t });
\t \t \t
\t \t \t $.validate({
\t \t \t
\t \t \t });
\t \t </script>
\t </body>
</html>
你的正则表达式都不尽如人意。在这篇文章http://stackoverflow.com/questions/19840301/jquery-to-validate-phone-number你有几个例子。尝试使用它们。祝你好运! – Antonio682