【发布时间】:2014-05-13 03:48:50
【问题描述】:
我有一个字符串,我从 word 文档中复制,然后将它传递到我的文本区域。 问题是该字符串包含一个似乎是右引号的字符,但 jquery 无法识别它。
我正在使用以下正则表达式
return inputValue.match("^(?!.*(<|>)).*[a-zA-Z0-9 \’\‘\@\!\#\$\%\^\&\*\(\)\_\+\-\=\{\}\:\;\'\,\.\?\|\/\~\`\n]+$") == null ? true : false;
这里无法识别的字符串是
\’\‘
当我在 firebug 中调试时检查相同的正则表达式时,我得到它
return inputValue.match("^(?!.*(<|>)).*[a-zA-Z0-9 \ \ \@\!\#\$\%\^\&\*\(\)\_\+\-\=\{\}\:\;\'\,\.\?\|\/\~\`\n]+$") == null ? true : false;
请注意,\’\‘ 现在在 jquery 中是 \ \,因此它总是失败..
我进一步检查了一下,这个角色的 Ascii 值为
‘
和
’
请告诉我一种将这些更改为普通单引号的方法,即 Ascii 值 39。 或将其从字符串中完全删除
我知道我可以使用替换功能来做同样的事情,但问题是它不仅与单引号有关..将来也可以是任何其他字符..
所以对于这些非法/无法识别的字符,我需要一个万无一失的解决方案
【问题讨论】:
标签: c# jquery regex illegal-characters