在JavaScript中验证HTML实体

时间:2012-10-19 22:55:12

标签: javascript regex

我有一个小的JavaScript验证脚本,可根据Regex验证输入。我想允许某些不常见的字符(不确定它们是否是UTF8)。例如,我想允许以下字符,它看起来像单引号,但不是。

我得到了这个’的HTML代码,但我不知道如何把它放到正则表达式中。

我尝试输入[&#8217]*,但它没有验证。

3 个答案:

答案 0 :(得分:2)

怎么样

/[\u2019]/

它使用实际字符而不是html实体。对于8217 10

,2019是十六进制

http://jsfiddle.net/eV2ek/

答案 1 :(得分:1)

只要您通过charset属性或Content-Type标题正确标记JavaScript(或其内嵌的保留页面)的编码,您就可以使用任何没有的字符regexp中的特殊含义只需在字面上输入:

/’/

答案 2 :(得分:0)

大多数环境中正则表达式中’’的替代方法是

\u2019

但是在Perl和PCRE中\u不受支持,但\x语法不支持

\x2019

因为2019是十进制8217的十六进制。

关于在Javascript中使用正则表达式的unicode,请阅读:Javascript + Unicode regexes