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.获取正则的sourceflags

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')