我正在使用jquery,并尝试使用### ### ####格式验证手机号码或家庭电话号码。#作为数字的占位符。
目前我使用number,但这会给空格带来问题,我使用minlength 10,因为所有的SA数字都是最小的10位数。
我的代码已经如下所示:
// Validation of Form
function validateForm() {
$('#frmMain').validate({
rules: {
TelNumber: { required: true, number: true, minlength: 10 }
},
messages: {
TelNumber: { required: 'Tel number Required' }
},
submitHandler: function (form) {
$('#btnSubmit').click();
}
});
}
我在这里找到了一个美国电话号码的插件,如果有人能告诉我一个美国电话号码是什么样子的,我可以只编辑这个:
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");
$("#myform").validate({
rules: {
field: {
required: true,
phoneUS: true
}
}
});
发布于 2012-05-17 18:24:35
jQuery.validator.addMethod("phoneSA", function (phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(0-?)?(\([0-9]\d{2}\)|[0-9]\d{2})-?[0-9]\d{2}-?\d{4}$/); //(0-?) = 0, ([0-9]\d{2}\) = 3 digits from 0-9 , d{4} 4 didgets, $ end of number
}, "Please specify a valid phone number");
发布于 2012-05-17 17:56:00
plugin author's page有一个指向"additional validation methods“pack (hotlink to source)的链接,其中包含一个"phoneUS”验证规则。简单地把它放进去,你就可以走了。
如果您想要自定义可接受的模式,该文件还包含一个"pattern“规则,允许您通过指定正则表达式进行验证。实际上,"phoneUS“规则也是这样工作的:通过测试表达式的输入
/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/
发布于 2012-05-17 17:56:56
这是我正在使用的脚本。根据需要修改代码。id errorContainer
用于显示错误消息。
<script type="text/javascript">
$().ready(function() {
$("#frmMain").validate({
errorLabelContainer:'#errorContainer',
showErrors: function(errorMap, errorList) {
if(errorList.length)
{
$('#errorContainer').html(errorList[0]['message']);
}
},
highlight:function(element,errorClass){
$(element).parent('td').addClass('error');
},
unhighlight:function(element,errorClass){
$(element).parent('td').removeClass('error');
},
rules: {
TelNumber: {
required: true,
number:true
}
},
messages: {
TelNumber: "Please enter a valid phone number",
}
});
});
</script>
在尝试实现此功能之前,请确保您的jQuery文件已成功加载并且工作正常。
我建议尝试使用一些UI进行验证,这将很容易实现。
https://stackoverflow.com/questions/10633307
复制相似问题