验证JavaScript中的HTML实体
我有一个小的JavaScript验证脚本,它基于Regex验证输入。我想允许某些不太常见的字符(不确定它们是否为UTF8)。例如,我想允许以下字符验证JavaScript中的HTML实体,javascript,regex,Javascript,Regex,我有一个小的JavaScript验证脚本,它基于Regex验证输入。我想允许某些不太常见的字符(不确定它们是否为UTF8)。例如,我想允许以下字符”,它看起来像一个单引号,但不是 我得到了这个的HTML代码,它是’,但我不确定如何将其放入正则表达式中 我试着只输入[’]*,但没有验证。作为’或’是 \u2019 但是,在Perl和PCRE中,不支持\u,而是支持\x语法 \x2019 as2019是十进制的十六进制8217 关于Javascript中
”
,它看起来像一个单引号,但不是
我得到了这个的HTML代码,它是’代码>,但我不确定如何将其放入正则表达式中
我试着只输入[’]*
,但没有验证。作为’代码>或’在大多数环境中,正则表达式中的代码>是
\u2019
但是,在Perl和PCRE中,不支持\u
,而是支持\x
语法
\x2019
as2019
是十进制的十六进制8217
关于Javascript中带有正则表达式的unicode,请阅读:如何
/[\u2019]/
它使用实际字符而不是html实体。2019是821710的十六进制
只要通过charset
属性或Content-Type
标题正确标记JavaScript(或其内联的保留页)的编码,您就可以使用任何在regexp中没有特殊意义的字符,只需在其中按字面意思键入即可:
/’/
没错!工作完美:)谢谢!我曾经想过,但问题是,如果我用不支持“特殊”字符的编辑器/IDE打开它(就像我猜的nano
),这个字符可能会丢失/替换。是的,使用字符代码是最安全的,但我发现很难相信任何主动更新的编辑器(以及nano
,我记得,是这样的)不支持UTF-8。