将电子邮件验证正则表达式字符串存储在JSON中

storing email-validation regex string in JSON

本文关键字:JSON 存储 字符串 电子邮件 验证 正则表达式      更新时间:2023-09-26

我有一个用于验证电子邮件地址的regex字符串,我想通过json将其发送到我的应用程序。我从dojo/Json得到一个错误说:

Uncaught SyntaxError: Unexpected token ]

所以我把我的JSON文件放到JSONLint中,得到了一个稍微具体一点的错误:

Parse error on line 3:
... {        "regex": "^(([^<>()[']''.,;:'
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

这是我的json文件内容:

{
"Email Address": {
    "regex": "^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|('".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA-Z'-0-9]+'.)+[a-zA-Z]{2,}))$"
    }
}

Json.org似乎没有提到任何关于转义regex字符的内容。。。字符串本身被正确地转义,因为我可以在js控制台中为该regex字符串设置一个变量。

有人知道我能做些什么让它发挥作用吗?

这不起作用,因为您在字符串中使用了"。

一个解决方案是将每个"替换为/'''之类的东西,然后你再次解析它时将每个/'''替换为",这将起作用。

会寻求更好的方式,但希望这同时会有所帮助。

更新:

每个碱基64对其进行编码,然后对其进行解码:类似于http://decodebase64.com/

在执行字符串时保存基64编码正则表达式,然后在解析时解码基64并将其存储回。。

基本上

-当想要变细-base64编码正则表达式-用基64覆盖普通正则表达式-Stringify json

-当想要解析JSON时-在中分析-获得基本64 reg ex-解码它-更换