Javascript正则表达式匹配

Javascript正则表达式匹配,javascript,jquery,regex,Javascript,Jquery,Regex,通过使用模式from,我想在用户填写id_phone文本输入字段时进行检查,如果它与模式匹配,则使用id_phone的值来填写id_new_phone的值。 这似乎对我不起作用 $('#id_phone').change(function() { var myPattern = new RegExp(^0\(5\d{2}\) \d{3} \d{2} \d{2}$); var myStr = $("#id_phone").val(); if ( myStr.match(my

通过使用模式from,我想在用户填写id_phone文本输入字段时进行检查,如果它与模式匹配,则使用id_phone的值来填写id_new_phone的值。 这似乎对我不起作用

$('#id_phone').change(function() {
    var myPattern = new RegExp(^0\(5\d{2}\) \d{3} \d{2} \d{2}$);
    var myStr = $("#id_phone").val();
    if ( myStr.match(myPattern) ){
        $('#id_new_phone').val(myStr);
    }
});
有什么问题吗

var myPattern = new RegExp("^0\(5\d{2}\) \d{3} \d{2} \d{2}$");
在使用RegExp时,应该引用该模式

此外,它不是有效的regexp,因为如果不想引用它,则应使用regexp构造。例如:

var myregex = /<some pattern here>/g
在使用RegExp时,应该引用该模式

此外,它不是有效的regexp,因为如果不想引用它,则应使用regexp构造。例如:

var myregex = /<some pattern here>/g
您需要将^0\5\d{2}\\d{3}\d{2}\d{2}$放在引号内,如果要使用RegExp而不是//

myPattern.testmyStr比使用.match更可取,因为.match返回的数组实际上并不需要它。

如果要使用RegExp而不是//


myPattern.testmyStr比使用.match更可取,因为.match返回一个您并不真正需要的数组。

您尝试匹配的数据示例将非常有助于诊断问题。您尝试匹配的数据示例将非常有助于诊断问题。