在javascript中我有一个包含模式'/^\d{7,15}$/'
的字符串,我会测试字符串str1
如何使用此字符串'/^\d{7,15}$/'
???
var re = '/^\d{7,15}$/';
var str1 = '12345678'; //should match!
// none of the below methods is working to me
var m1 = str1.match(re);
console.log(m1); //null
var regex1 = new RegExp(re);
var t1 = regex1.test(str1);
console.log(t1); //false

答案 0 :(得分:1)
您需要在字符串文字中转义反斜杠\
:
var re = '^\\d{7,15}$';
var str1 = '12345678'; //should match!
var regex1 = new RegExp(re);
var t1 = regex1.test(str1);
console.log(t1);

我还删除了表达式周围的斜杠/
,因为它们不是必需的。正如Paulpro在评论中提到的那样,如果您不控制输入字符串,则可以使用str1.slice(1, -1)
将其删除。