【问题标题】:javascript regex doesn't match ƒ characterjavascript 正则表达式与 ƒ 字符不匹配
【发布时间】:2017-04-12 12:24:36
【问题描述】:

我要求只接受(扩展的)ascii 字符。所以我有一个像这样的javascript正则表达式:

/^[\x20-\xff]+$/.test("helloê¿£×Ø¬áƒ")

失败。但是,当我删除它接受的功能符号(扩展 ascii 中的 159)时。这很奇怪,因为 á (160) 和 × (158) 都很好,所以它接受(一些)扩展的 ascii 字符。

感觉好像我在这里遗漏了一些明显的东西,但是什么?

【问题讨论】:

  • 您的问题是什么?如果需要匹配函数符号(\u0192),请将其添加到字符类(/^[\x20-\xff\u0192]+$/)中,或者修改需要匹配的范围。
  • 顺便说一句,á (\xE1) 和 × (\xD7) 没有任何问题,它们在您的范围内。您的代码运行良好,符合预期。
  • 问题是在 IS-8859-1 中发布,它没有那个字符...
  • 所以,问题离题了。过去和现在都没有问题。

标签: javascript regex ascii


【解决方案1】:

问题是我在 ISO-8859-1 中发布,其中 ƒ 不是 \x20-\xff 范围内的字符。 谢谢@Wiktor Stribiżew

【讨论】:

    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多