【问题标题】:Converting PHP Regex's to Javascript (or what are the differences?)将 PHP 正则表达式转换为 Javascript(或有什么区别?)
【发布时间】:2010-11-11 00:59:50
【问题描述】:

我有一个表单生成器,它使用(与 perl 兼容的)正则表达式进行后端验证。由于整个表单是动态生成的,因此添加一些 jquery 然后使用相同的正则表达式在客户端预提交进行验证是相当简单的。

但是,有时正则表达式在 Javascript 中不表现自己,我怀疑它们要么没有被正确转义,要么包含非法字符等。任何人都知道确保相同正则表达式有效的方法在这两个平台上?

【问题讨论】:

    标签: php javascript regex


    【解决方案1】:

    了解specific implementation details for Regular Expressions in Javascript。

    JavaScript 实现 Perl 风格 常用表达。然而,它缺乏 相当多的高级功能 在 Perl 和其他现代版本中可用 正则表达式风格

    一方面,/ 字符表示 Javascript 中正则表达式的开头和结尾,因此您可能需要对其进行转义,但这取决于您如何在 Javascript 中实例化正则表达式(使用文字符号或RegExp 类)。

    【讨论】:

    • / 也是 PHP 实现中默认的正则表达式分隔符。
    【解决方案2】:

    PHP preg_* 函数和 JavaScript 都使用 Perl 兼容的正则表达式。原则上,它们应该支持同一组正则表达式。

    你真的应该给出一些不起作用的例子,因为你的问题很可能是由于转义/字符串处理造成的。

    【讨论】:

    • 嗯,我不知道有一个同名的 C 库,我并不是说浏览器使用那个特定的库,但是 JavaScript 中的正则表达式绝对是 Perl 兼容的。
    • 不,他们不是。一个例子:JavaScript 不支持后视断言。有关更多示例,请参阅regular-expressions.info/javascript.html
    猜你喜欢
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2011-07-07
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多