我正在尝试使用javascript对表单的电话号码字段进行验证。
我从另一个网站上获取了一些RegEx,它几乎可以正常工作。
但是,如果您将字母放在数字之间,例如“ 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个字符之间的电话号码,如果应该输入一个,则也可以在开头加上+。其他任何字符都应无效
最佳答案
if (telephone==null || telephone=="") {
alert("Telephone must be filled out");
return false;
}
var regexp = /^[\s()+-]*([0-9][\s()+-]*){6,20}$/;
if (! telephone.match(regexp)) {
alert("Telephone number is not valid");
return false;
}
关于php - regEx允许数字之间的字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17189007/