使用eval函数
let str = "/^(([0-9]|[1-9][0-9]|1[0-7][0-9])(\.[0-9]+)?|180)$/"
let reg = eval(str)
reg.test(2) // true
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
eval方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。