javascript - 如何将字符串从 PHP 转换为 javascript 正则表达式?

标签 javascript jquery regex

这是我转换为 JavaScript 对象的字符串。

{"text" : "Must consist of alphabetical characters and spaces only", regexp:"/^[a-z\\s]+$/i"}

我需要regexp来使用它进行验证,但由于双引号\s转义序列,它不起作用。

要使其正常工作,正则表达式的值必须为{“text”:“必须仅包含字母字符和空格”,正则表达式:/^[a-z\s]+$/i}

我还使用了这个new RegExp(object.regexp)以及我能想到的任何其他方式,但根本没有运气。

感谢任何帮助!

最佳答案

在将其放入 new RegExp 构造函数之前,尝试split-ing 取出所需的部分:

var regexVariable = new RegExp(object.regexp.split("/")[1]);

这将 trim 掉正则表达式“边界”的字符串表示形式以及“i”标志,只留下正则表达式的“内容”。

将结果推送到控制台会产生以下正则表达式:/^[a-z\s]+$/

编辑:

不确定您是否想从对象中的值“读取”不区分大小写,但是,如果您这样做,您可以进一步扩展 split 的使用以获得自动包含的任何标志:

var aRegexParts = object.regexp.split("/");
var regexVariable = new RegExp(aRegexParts[1], aRegexParts[2]);

在控制台中记录该结果会产生我发布的第一个正则表达式,但添加了“i”标志:/^[a-z\s]+$/i

关于javascript - 如何将字符串从 PHP 转换为 javascript 正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587219/

相关文章:

javascript - 在哪里可以找到 jQuery "scrollable"模态窗口插件?

javascript - SignalR 身份验证 - 处理未授权的情况

javascript - 按 Enter 键 react 组件

jquery - 将 jQuery 的 ajax() 函数与 SSL 客户端证书结合使用

javascript - 创建动态元素列表并根据用户订阅显示元素

javascript - 匹配模式的正则表达式

javascript - 为什么我会收到这个已弃用的警告?! MongoDB

正则表达式: "ux/ui"字符串的智能正则表达式

c# - 如何验证输入是否包含有效的 .Net 正则表达式?

javascript - 使用类和原型(prototype)编写 jQuery 插件