电话号码验证正则表达式

时间:2019-03-15 10:45:17

标签: javascript regex validation magento preg-replace

我想验证Magento Checkout地址字段上的电话号码字段。

我使用了下面的magento默认验证,但似乎不起作用

    "validate-phoneStrict": [
        function(value) {
            return utils.isEmptyNoTrim(value) || /^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/.test(value);
        },
        $.mage.__('Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.')
    ],
    "validate-phoneLax": [
        function(value) {
            return utils.isEmptyNoTrim(value) || /^((\d[\-. ]?)?((\(\d{3}\))|\d{3}))?[\-. ]?\d{3}[\-. ]?\d{4}$/.test(value);
        },
        $.mage.__('Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.')
    ],

我只希望这两种格式有效(123) 456-7890123-456-7890

不幸的是,它也接受(123456-7890(123-456-7890

我只希望严格使用(123) 456-7890123-456-7890这种格式。

对正则表达式有何建议?

1 个答案:

答案 0 :(得分:1)

尝试一下:

^(?:(?:\(\d{3}\)\s|\d{3}-)\d{3}-\d{4})$

DEMO