【问题标题】:How to Validate a Phone Number Using Parentheses in Javascript如何在 Javascript 中使用括号验证电话号码
【发布时间】:2018-02-26 05:50:31
【问题描述】:

我对编码非常陌生,尤其是 Javascript,并且很难让我的表单使用括号识别电话号码。我已经能够制作一个代码来接受数字之间的破折号来工作,但是我用括号尝试的变体都返回为无效。下面是我的带有破折号的功能代码。如果可能的话,我希望就如何调整此代码以包含括号获得一些建议。我正在尝试制作表单功能,以便它可以接受以下变体:xxx-xxx-xxxx、(xxx)xxxxxxx 和 (xxx)xxx-xxxx。

function validateTenDigitsAndDashes (str)
{
    //alert("in validateTenDigitsAndDashes: str, str.length = '" + str + "', " + str.length) ;
    var retVal = 12 == str.length ;

    for (var i = 0 ; retVal && (i < str.length) ; i++) {
        //alert("   in loop: i, str.charAt(i) = " + i + ", " + str.charAt(i)) ;
        if (3 == i || 7 == i) retVal = '-' ==  str.charAt(i)
        else                  retVal = isDigit(str.charAt(i)) ;
        }

    return retVal ;
}

【问题讨论】:

  • 你为什么不用正则表达式?
  • 使用正则表达式。但您也可以考虑在检查之前简单地从字符串中去除非数字字符。
  • 我之所以使用这种方法,是因为我将它结合到我学习循环和条件的尝试中。

标签: javascript forms validation


【解决方案1】:

希望对你有帮助。

function telephoneCheck(str) {
  var a = /^(1\s|1|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/.test(str);
  alert(a);
}

//call function to check
telephoneCheck("(555) 555-5555");

从 stackoverflow 上的以下链接中选择答案。

Validating Phone Numbers Using Javascript

【讨论】:

  • 复制网站上的内容是没有意义的。相反,您有足够的代表将问题标记为原始问题的重复。
【解决方案2】:

像这样的小正则表达式就可以解决问题^\(?\d{3}\)?-?\d{3}-?\d{4}$

【讨论】:

    猜你喜欢
    • 2014-11-30
    • 2011-05-19
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    相关资源
    最近更新 更多