4

我有一个要求,我必须使用正则表达式对传真号码进行验证检查。传真号码中接受的字符是 + 。和从 0 到 9 的数字。为此,我编写了以下 javascript 函数

function validateFax(checkField) {
    if (checkField.value.length > 0) {
        var faxRegEx = /[\+? *[1-9]+]?[0-9 ]+/;
        if (!checkField.value.match(faxRegEx)) {
            return false;
        }
    }
    return true;
}

但这并不能帮助我检查所有可接受的字符。此外,它只检查 3 到 4 个字符,但我的传真号码可以包含任意数量的字符。我是正则表达式的新手。谁能告诉我如何修改此功能以使其符合我的要求。提前致谢。

4

2 回答 2

6
/^\+?[0-9]+$/

上面的正则表达式允许+在数字的开头有一个符号。那么 0-9 可以出现任意次数(大于等于一)。所以这个正则表达式将允许:+123456789 123456789等。

如果你想限制最小位数,你可以通过以下方式修改正则表达式:

/^\+?[0-9]{6,}$/

这里{6,}表示[0-9]必须至少出现6次。

于 2013-03-05T06:50:44.270 回答
2

这可能会奏效:

fax.match(/^\+?[0-9]{7,}$/);

我在这里假设传真号码至少有 7 位数字,并且开头的 + 是可选的。

于 2013-03-05T06:40:59.917 回答