【发布时间】:2013-06-19 10:34:25
【问题描述】:
我正在尝试使用 javascript 对表单的电话号码字段进行一些验证。
我从另一个网站获取了一些正则表达式,它几乎可以工作。
但如果您在数字之间放置字母,例如“1234abc5678”,则 javascript 确实允许提交表单
这是我的验证码:
if (telephone==null || telephone=="")
{
alert("Telephone must be filled out");
return false;
}
var regexp = telephone.replace(/^[\s()+-]*([0-9][\s()+-]*){6,20}$/);
if (telephone.match(regexp))
{
alert("Telephone number is not valid");
return false;
}
有人可以帮我处理这段代码并告诉我出了什么问题
经过 1 次测试后,我发现如果我在开头添加 +,它允许在数字中包含字母。我确实需要在开头允许 + 但显然不允许字母。
我需要的输出是长度在 6 到 20 个字符之间的电话号码,如果应该输入的话,它还允许在开头加上 +。任何其他字符都应该是无效的
【问题讨论】:
-
您认为有效的电话号码是什么(期望的输出是什么)?这会有所帮助。
-
编辑了问题以适应它:)
标签: php javascript regex validation