gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:44:50 27 4
gpt4 key购买 nike

我是 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com