javascript - 为 javascript 创建正则表达式

标签 javascript php regex

我热衷于同时使用 [^\u0000-\u007F]+^[A-Za-z0-9._-](?:[A-Za- z0-9._ -]*[A-Za-z0-9._-])?$ 作为一个正则表达式,但它太复杂了,我无法让它工作?有什么想法可以整合两者吗?

我想使用JavaScript版本进行客户端验证,使用Php版本进行服务器端验证。

最佳答案

我建议使用 [\u0080-\uFFFF] 而不是 [^\u0000-\u007F] 来使用 Unicode 表的剩余部分。

在JS中,\w匹配[A-Za-z0-9_],我建议使用

^[\u0080-\uFFFF\w.-](?:[\u0080-\uFFFF\w. -]*[\u0080-\uFFFF\w.-])?$

参见 demo

在 PHP 中,只需使用 \p{L} with /u modifier :

$re = '/^[\p{L}0-9_.-](?:[\p{L}0-9_. -]*[\p{L}0-9_.-])?$/u'; 
          ^^^^^           ^^^^^          ^^^^^           ^

看起来没有人喜欢 PHP 中的 \uXXXX。 @nhahtdh 确认匹配相同代码点可能存在问题。

关于javascript - 为 javascript 创建正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363130/

相关文章:

regex - 如何使用 perl 返回一行

ios - 使用正则表达式从 NSString 中提取文本

javascript - 如何使用 JQuery 为数组的每个值生成 HTML 元素?

javascript - 将 JSON 数组集合发布到 Asp.net Core Web API

php - 网址 $_GET 将不起作用

php - CodeIgniter:json_decode 数组问题

javascript - 动态图片 slider 解决方案

javax @Pattern 验证字符大小范围的正则表达式

javascript - 单击后显示 div 的 Php 和 Javascript

javascript - 将变量分配给jquery中的样式