Javascript正则表达式拒绝非ASCII-US字符

时间:2010-08-12 08:23:17

标签: javascript regex

^[^\x00-\x1F\x7F-\xFF]+$

此正则表达式将正确失败以匹配包含非打印(十六进制00-1f)或 ASCII扩展字符(十六进制)的字符串80-FF),但与PHP不同,允许非ASCII utf-8字符通过。 (例如,日本واستقرارهहिन्दीދިވެހިބަސްગુજરાતી한)

查看UTF-8上的wikipedia page,所有这些都应该在80-ff范围内。有谁知道我错过了什么?

另外,如果您可以解释如何忽略引用文本,那么您将永远是我的英雄。

1 个答案:

答案 0 :(得分:8)

嗯......不是拒绝字节范围,而是尝试匹配实际的Unicode字符,例如:

^[\u0020-\u007e]+$