繁体   English   中英

JavaScript注册表格中用于传真号码验证的正则表达式

[英]Regular expression for fax number validation in a JavaScript registration form

关于正则表达式,我是一个完全的新手。 即使阅读了有关它们的指南,我仍然很难制定自己的指南。 我正在尝试获取表格以验证+12345678910格式的传真号码。 我有一些代码,但是它允许我提交混合数字和字母,以及提交带有空格的数据,而无需完全填写Faxnum文本框。 我非常感谢您提供有关如何更熟练使用正则表达式的表格和提示的帮助。

var fax = document.registration.faxnum; 
faxval(fax);

function faxval(fax)
{
    var numbers = /[\+? *[1-9]+]?[0-9 ]+/; //Bad regex
    if (fax.value.match(numbers))
    {
        document.getElementById("faxmsg").innerHTML=("Everything is OK.");
        faxmsg.style.color="green";
    }
    else
    {
        faxmsg.innerHTML=("Invalid fax number.");
        faxmsg.style.color="red";
    }
};

要匹配+12345678910之类的数字,请尝试: \\+1[2-9][0-9]{9}

我假设+1部分是国际号码代码,234是区号,567是交换局,8910是号码的其余部分。 此模式还将匹配一个数字,例如+12125551212。

美国或加拿大电话号码的首位数字必须为2到9。因此,我们可以将其作为首字符( [2-9] )。 这样,其余的数字将是9位数字,从0到9( [0-9]{9} )。

如果要允许-或。 您也可以使用: \\+1(|\\.|\\-)[2-9][0-9]{2}(|\\.|\\-)[0-9]{3}(|\\.|\\-)[0-9]{4} (|\\.|\\-)部分的意思是“不允许字符或。字符或-字符”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM