【发布时间】: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