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

Regular expression for fax number validation in a JavaScript registration form

本文关键字:号码 验证 正则表达式 用于 注册 注册表 表单 JavaScript      更新时间:2023-09-26

说到正则表达式,我完全是个新手。即使在阅读了关于它们的指南之后,我仍然很难形成自己的想法。我正试图让我的表格验证+12345678910格式的传真号码。我有一些代码,但它允许我提交混合数字和字母,以及提交带有空格的数据,而不需要完全填写faxnum文本框。我将非常感谢任何关于如何更熟练地使用regex的表单和提示的帮助。

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}(|'.|'-)部分表示"不允许字符或字符"。字符或-字符。"