日语字符的正则表达式

时间:2011-07-22 08:54:56

标签: javascript regex unicode internationalization cjk

我正在Struts中进行国际化。我想为日语和英语用户编写Javascript验证。我知道英语的正则表达式,但不是日本用户。是否可以为基于Unicode验证的用户编写一个正则表达式?

请帮帮我。

3 个答案:

答案 0 :(得分:20)

这个帖子可能很旧但只是认为我加了2美分。这是一个正则表达式,可用于匹配所有英语字母数字,日本片假名,平假名,字母数字[hankaku和zenkaku]的多字节,破折号

/[一-龠]+|[ぁ-ゔ]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+[々〆〤]+/u

您可以根据需要对其进行编辑,但最后请注意“u”标志。

我希望这有帮助!

答案 1 :(得分:0)

如果您的文本编辑器和编程语言支持Unicode,您应该能够输入日文字符作为文字字符串。像[A-X]范围这样的事情可能不会很好地转化。

您要验证哪种文字?

常规表现是什么语言? Perl兼容,POSIX还是别的什么?

答案 2 :(得分:-1)

只要您将脚本保存在与页面相同的字符集中(例如,HTML和JavaScript都是UTF-8或HTML和JavaScript都是Shift_JIS),您应该能够将正则表达式视为与你会用英语。

function isKansai(city) {
    var rxKansai = /(大阪|兵庫|京都|滋賀|奈良|和歌山|osaka|hyo{1,2}go|kyoto|shiga|nara|wakayama)/i;
    return rxKansai.test(city);
}
isKansai('東京'); // false
isKansai('大阪'); // true
isKansai('Tokyo'); // false
isKansai('Osaka') // true