Javascript正则表达式字母与少数国际字符

时间:2010-07-18 22:23:41

标签: regex unicode

我需要一个javascript函数来验证字母输入,并使用意大利语中的一些额外字符,即:àèéìòóù

之前我看过一个正则表达式:

[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]

这些代码名称是什么?我在哪里可以找到正确的值?
我想将这些用于以下功能:

function val_alpha_it(str) {
    var re = /[^A-Za-z]/
    return re.test(str);                
}

2 个答案:

答案 0 :(得分:1)

这是关于Regex中Unicode的一个很好的教程: http://www.regular-expressions.info/unicode.html

正如您所提到的,JavaScript仅支持\xFFFF样式语法,该页面列出了各种字符范围。

如果您需要特定字符,可以使用Windows上的字符映射查找Unicode字符代码(查找左下角的U+FFFF,然后更改为上面的语法)。

答案 1 :(得分:0)

如果编码适用于您的脚本,您可以将字符放在常规epxression的负集中:

function val_alpha_it(str) {
  return /[^A-Za-zàèéìòóù]/.test(str);
}

如果需要使用字符代码指定字符,那么这些是unicode代码点。您可以在Unicode character set中查找它们。例如,字符à具有字符代码00E0,因此您将其写为\u00E0。因此,对于字符代码转义,代码将是:

function val_alpha_it(str) {
  return /[^A-Za-z\u00E0\u00E8\u00E9\u00EC\u00F2\u00F3\u00F9]/.test(str);
}