如何在javascript中测试模式regexpr

如何在javascript中测试模式regexpr,javascript,Javascript,在javascript中,我有一个字符串,其中包含一个模式'/^\d{7,15}$/',我将测试字符串str1 如何使用此字符串'/^\d{7,15}$/' var re='/^\d{7,15}$/'; var str1='12345678'//应该匹配! //以下方法对我都不起作用 var m1=str1.匹配(re); 控制台日志(m1)//无效的 var regex1=新的RegExp(re); var t1=regex1.test(str1); 控制台日志(t1)//false您需要在

在javascript中,我有一个字符串,其中包含一个模式
'/^\d{7,15}$/'
,我将测试字符串str1

如何使用此字符串
'/^\d{7,15}$/'

var re='/^\d{7,15}$/';
var str1='12345678'//应该匹配!
//以下方法对我都不起作用
var m1=str1.匹配(re);
控制台日志(m1)//无效的
var regex1=新的RegExp(re);
var t1=regex1.test(str1);

控制台日志(t1)//false
您需要在字符串文本中转义反斜杠
\

var re='^\\d{7,15}$';
var str1='12345678'//应该匹配!
var regex1=新的RegExp(re);
var t1=regex1.test(str1);

控制台日志(t1)
第一个匹配
new RegExp
需要一个不带分隔符的表达式。能否在源代码处修改字符串,使其不包含
/
s?如果不是,你需要先去掉它们才能使用它。从
re
中删除
'
s,因为此时它是一个stringOr,如果你可以只构造一个RegExp而不使用字符串,那么就这样做:
var re=/^\d{7,15}$/。我也不认为这是一个输入错误,而且还没有人完全回答他的问题,即如何将该字符串用作RegExp,而不是如何首先创建RegExp。如果他在变量中有一个字符串,那么能够构造一个单独的RegExp对他没有帮助。他需要做一些事情,比如
newregexp(str.substr(0,1).substr(0,-1))。几乎不是打字错误。只需要删除撇号。如果字符串是动态的,那么您将如何构造正则表达式对象?将字符串更改为正则表达式文本并不能回答这个问题。谢谢:)的工作原理是使用str1.slice(1,-1)剥离字符串模式。然而,即使没有摆脱反斜杠,它似乎也能工作