4

我需要使用正则表达式匹配来自日语的多字节 0123456789 字符。

[0-9]在这种情况下不起作用。我怎样才能制作这个正则表达式?这是我第一次尝试匹配多字节字符串。

更新

使用 UTF-8 和非 UTF-8 匹配 4 位字符串(例如出生年份)成功,使用以下regex

^([0-9]{4}||[\uFF10-\uFF19]{4})$

4

2 回答 2

4

/[0-9]/Javascript中这些多字节数字的正则表达式是

/[\uff10-\uff19]/
于 2013-08-08T19:50:39.113 回答
3
var str = '0123456789';
console.log(
    str.match(new RegExp('[0-9]', 'g')),
    str.match(/[\uff10-\uff19]/g) 
);
//returns ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] both ways

如果使用未转义的版本,请确保.js使用正确的编码 (UTF-8) 保存文件。

于 2013-08-08T19:50:57.770 回答