javascript - 我的正则表达式如何支持中文、日语、法语等多种语言

标签 javascript regex

我是 Java 脚本的新手。我写了一个正则表达式,它允许用户名或电子邮件地址作为某些条件的输入,例如 应接受 6-50 个字符 不允许空格或空白 不应允许 2 个 @ 符号并且可以接受超过 1 个 .(点)和 _(下划线)。
这是我的正则表达式。

var regExpPattern = /^(?=.{6,50}$)([\w._]+@?[\w.]*)$/;

谁能告诉我如何让我的正则表达式支持多种语言,如西类牙语、中文、法语等。 非常感谢。

最佳答案

要涵盖其他语言,您可以使用特殊字符的 Unicode 代码/范围。

以日语为例(使用 Perl):

if ($text =~ m/[\x{3041}-\x{3096}]/) { print $text; }

这会找到文本字符串中的所有平假名,Unicode 代码范围为:[\x3041-\x3096]

所以它会在字符串中找到以下任何一个:

ぁ あ ぃ い ぅ う ぇ え ぉ お か が き ぎ く ぐ け げ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み む め も ゃ や ゅ ゆ ょ よ ら り る れ ろ ゎ わ ゐ ゑ を ん ゔ ゕ ゖ ゙ ゚ ゛ ゜ ゝ ゞ ゟ

尝试一下 RegexPal例如,这个:

\u3041

在上面的一组平假名中,会发现:

其他语言也是如此。

关于javascript - 我的正则表达式如何支持中文、日语、法语等多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20636552/

相关文章:

javascript - 将可变参数传递给函数 - javascript

javascript - 如果使用 window.location,用户无法按返回按钮转到上一页

Python正则表达式问题

ruby - 验证带有扩展名的电话号码格式

javascript - Express.js : capture generic routes with numeric Id

python - 正则表达式应该以不同的方式处理空格(包括换行符)

javascript - 正则表达式 - indexof - 拆分和替换 我应该如何正确应用它们?

javascript - 有没有办法让 komodo edit 突出显示以 '$' 美元符号开头的变量?

javascript - 在 JS 调用上执行 PHP 的可靠方法?

javascript - 如何对动态生成的按钮点击使用react?