首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何验证*格式的数字?

如何验证*格式的数字?
EN

Stack Overflow用户
提问于 2012-05-17 17:47:23
回答 3查看 7.1K关注 0票数 0

我正在使用jquery,并尝试使用### ### ####格式验证手机号码或家庭电话号码。#作为数字的占位符。

目前我使用number,但这会给空格带来问题,我使用minlength 10,因为所有的SA数字都是最小的10位数。

我的代码已经如下所示:

代码语言:javascript
运行
复制
// 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();

        }
    });
}

我在这里找到了一个美国电话号码的插件,如果有人能告诉我一个美国电话号码是什么样子的,我可以只编辑这个:

代码语言:javascript
运行
复制
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
    }
  }
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-17 18:24:35

代码语言:javascript
运行
复制
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");
票数 1
EN

Stack Overflow用户

发布于 2012-05-17 17:56:00

plugin author's page有一个指向"additional validation methods“pack (hotlink to source)的链接,其中包含一个"phoneUS”验证规则。简单地把它放进去,你就可以走了。

如果您想要自定义可接受的模式,该文件还包含一个"pattern“规则,允许您通过指定正则表达式进行验证。实际上,"phoneUS“规则也是这样工作的:通过测试表达式的输入

代码语言:javascript
运行
复制
/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/
票数 2
EN

Stack Overflow用户

发布于 2012-05-17 17:56:56

这是我正在使用的脚本。根据需要修改代码。id errorContainer用于显示错误消息。

代码语言:javascript
运行
复制
<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进行验证,这将很容易实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10633307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档