【发布时间】:2013-07-16 00:15:19
【问题描述】:
我一直在尝试向电话字段添加验证,以便它只接受 10 到 14 位数字(也欢迎使用其他更好的英国电话验证方法)。
我正在使用 jQuery 验证插件。
<form class="form" id="lg.callback.form" action="[[~[[*id]]]]" method="post">
<input type="hidden" name="nospam:blank" value=""/>
<label for="name"> Name: <span class="error">[[!+fi.error.name]]</span></label>
<input id="name" type="text" name="name" value="[[!+fi.name]]" required />
<label for="phone"> Phone: <span class="error">[[!+fi.error.phone]]</span></label>
<input id="phone" type="text" name="phone" value="[[!+fi.phone]]" class="phone"/>
<input type="submit" value="Request a call back"/>
</form>
<script>
$("#lg.callback.form").validate();
</script>
我确实尝试了以下方法:
$("#lg.callback.form").validate({
rules: {
phone: {
required: true,
digits: true,
minlength: 10,
maxlength: 14
}
}
})
但它没有按预期工作。
建议将不胜感激。
【问题讨论】:
-
您可以通过应用正则表达式来进一步锁定验证。如果你看的话,它在 jq 验证插件的文档中。开始寻找正则表达式的好地方是:regexlib.com/Search.aspx?k=uk%20phone
-
严格执行此验证有什么好处?您应该尽量少打扰您的用户。人们知道他们输入了什么,他们仍然可以输入虚假数字。我喜欢输入带有国家代码(NL 中为 +31)的电话号码,并且中间有空格。
标签: jquery validation jquery-plugins jquery-validate