簡體   English   中英

jQuery從字符串中刪除無法識別/非法字符

[英]Jquery removing unidentifiable/illegal characters from string

我有一個要從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 Value of

&#8216;

&#8217;

請讓我知道一種將其更改為正常的單引號(即Ascii值39)或將其從字符串中完全刪除的方法

我知道我可以使用replace函數來做同樣的事情,但是問題是它不僅與單引號有關。將來還可以是其他任何字符。

因此,對於這些非法/無法識別的字符,我需要一個萬無一失的解決方案

嘗試使用等價的十六進制(也可以使用@字符串文字):

return inputValue.match(@"^(?!.*(<|>)).*[a-zA-Z0-9 \u2018\u2019@!#$%^&*()_+={}:;',.?|/~`\n-]+$") == null ? true : false;
                                                   ^^^^^^^^^^^^

\‘代表'\’代表'

ideone演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM