JSON本身是不支持正则表达式的,所以我们需要转换传递正则的方式。
方式1
1.假如有个正则表达式为
// 字符长度为1到16之间
const regex = /^.{1, 15}$/
2.那么,JSON格式可以写为
{
"regex": "^.{1, 15}$"
}
3.然后,解析时采用
const regexp = new RegExp(regex)
regexp.test('11111')
方式2
1.假如有个正则表达式为
// 字符长度为1到16之间
const regex = /^.{1, 15}$/
2.获取正则的source
与flags
const source = regex.source
const flags = regex.flags
const regexStr = JSON.stringfy({ source: source, flags: flags})
3.JSON传递
{
"regex": regexStr
}
4.解析
const { source, flags } = JSON.parse(regex)
const regexp = new RegExp(source, flags)
regexp.test('11111')