我是jQuery验证方法的新手,我希望让它检查前缀。我尝试过这样做,但它不起作用。有人可以帮忙吗?
条件: -
实施例: 158XXXXXXXX,131XXXXXXXX,189XXXXXXXX
这就是我所做的:
$.validator.addMethod("mobile_phone", function (value, element) {
value = value.replace(/\s+/g, "");
return this.optional(element) || /^158\d{8}$/.test(value);
});
fr_contact_number: {
required: true,
number: true,
mobile_phone: true,
minlength: 11,
maxlength: 11,
}
答案 0 :(得分:2)
您可以使用正则表达式
^1(58|31|89)[0-9]{8}$
<强>解释强>
^
:行首1
:按字面意思匹配(58|31|89)
:OR条件,匹配条件中的任何一个[0-9]{8}
:匹配0到9之间的任何数字,八次$
:行尾正则表达式演示:
input:invalid {
color: red;
}
input:valid {
color: green;
}
<input pattern="1(58|31|89)[0-9]{8}" />
答案 1 :(得分:1)
您可以使用正则表达式
^1(?:58|31|89)\d{8}$
这明确地将第二和第三位限制为您的要求中所述的组合58,31,89。接受的答案允许自由地组合第二和第三位,例如允许159作为起始号码。