使 JavaScript 正则表达式等同于 PHP 正则表达式
-
09-06-2019 - |
题
提交 Web 表单后,正则表达式将应用于服务器端的用户输入(通过 PHP)。我希望在客户端实时运行相同的正则表达式,以向用户展示真正的输入是什么。这与 Stack Overflow 上的提问页面上的预览部分几乎相同,只是后端使用 PHP 而不是 .NET。
为了让 PHP 和 JavaScript 正则表达式的行为完全相同,我需要记住什么?
解决方案
呵呵,不久前有人问过这个问题,杰夫指出:
http://www.regular-expressions.info/refflavors.html.
对不同工具和语言的正则表达式功能进行了比较。
其他提示
如果正则表达式很简单,那么应该没有问题,因为正则表达式的基础知识在大多数实现中都是通用的。
对于细节,最好研究这两种实现:
http://www.regular-expressions.info/php.html
http://www.regular-expressions.info/javascript.html
Javascript 实现可能是更基本的,所以如果您想要一种最低公分母方法,那么就瞄准这种方法。
我发现正则表达式的不同实现通常在它们所支持的内容方面存在细微的差异。如果您想完全确保前端和后端的结果相同,最节省的选择是对 PHP 后端进行 Ajax 调用,并使用相同的 PHP 代码片段进行正则表达式计算。
@LKM AJAX 是这里明显的赢家。这也将使您能够遵循 干燥 原则。为什么你想用 Javascript 编写解析代码 和 PHP?
不隶属于 StackOverflow