如上图正则规则转字符以后报错
不转字符就可以,我想让正则动态化怎么办呢?
字符是字符,长得像正则它还是字符,而没有“转成字符串”,所以也不能直接用来当作正则表达式使用。用 RegExp 构造函数可以以字符串为模板生成正则表达式,使用的时候不需要斜杠 /, i、g等标记连成字符串后作为第二个参数传入:
/
i
g
const regStr = `^(\\d{0,${intDataNum}})(\\.(\\d{0,${decDataNum}}))?字符是字符,长得像正则它还是字符,而没有“转成字符串”,所以也不能直接用来当作正则表达式使用。用 RegExp 构造函数可以以字符串为模板生成正则表达式,使用的时候不需要斜杠 /, i、g等标记连成字符串后作为第二个参数传入: const regExp = new RegExp(regStr, 'g')
当然,环境安全的前提下,还可以使用 eval 函数:
eval
const regStr = `/^(\\d{0,${intDataNum}})(\\.(\\d{0,${decDataNum}}))?$/g` const regExp = eval(regStr)
用构造函数呀Regexp
new RegExp('ab+c', 'i');
接受的是字符串,所以想传什么传什么
字符串 string 哪来的 '/xxx/g'.test('yyy') 方法?
string
'/xxx/g'.test('yyy')
你不得先转成 RegExp 对象 new RegExp('/xxx/g').test('yyy') 再调用吗?
RegExp
new RegExp('/xxx/g').test('yyy')
——————————————————————————————————
后添加
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
字符是字符,长得像正则它还是字符,而没有“转成字符串”,所以也不能直接用来当作正则表达式使用。
用 RegExp 构造函数可以以字符串为模板生成正则表达式,使用的时候不需要斜杠
/
,i
、g
等标记连成字符串后作为第二个参数传入:当然,环境安全的前提下,还可以使用
eval
函数:用构造函数呀
Regexp
接受的是字符串,所以想传什么传什么
字符串
string
哪来的'/xxx/g'.test('yyy')
方法?你不得先转成
RegExp
对象new RegExp('/xxx/g').test('yyy')
再调用吗?——————————————————————————————————
后添加