Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 电话号码验证正则表达式_Javascript_Regex_Validation_Magento_Preg Replace - Fatal编程技术网

Javascript 电话号码验证正则表达式

Javascript 电话号码验证正则表达式,javascript,regex,validation,magento,preg-replace,Javascript,Regex,Validation,Magento,Preg Replace,我想验证Magento签出地址字段上的电话号码字段 我使用了下面的magento默认验证,但它似乎不起作用 "validate-phoneStrict": [ function(value) { return utils.isEmptyNoTrim(value) || /^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/.test(value); }, $.mage.__('Pleas

我想验证Magento签出地址字段上的电话号码字段

我使用了下面的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-7890
123-456-7890

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

我只想要严格的
(123)456-7890
123-456-7890
此格式

对regexp有什么建议吗?

试试这个:

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

那么
phoneStrict
phoneLax
有两个不同的正则表达式?哪一个用于哪一个?我现在正在使用validate phoneStrict