javascript - 电话号码验证正则表达式

标签 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 这种格式。

对正则表达式有什么建议吗?

最佳答案

试试这个:

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

DEMO

关于javascript - 电话号码验证正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55180851/

相关文章:

regex - 我什么时候应该在正则表达式中使用\A?

regex - Notepad++ 中的正则表达式,每行打开和关闭大括号

javascript - 数组中的过滤器的行为不符合 0 的预期。 JavaScript

javascript - 使用javascript将 "m.d.yyyy"转换为 "yyyy-mm-dd"

python - 绝对 url 的正则表达式

javascript - 重置表单字段时出错

validation - 使用 Abide 在 Zurb Foundation 上进行信用卡验证

validation - Grails 2.2.0 - 验证问题

javascript - 清除 html 中按键的列表

javascript - 我想从公开的 Facebook 墙贴中获取数据