[英]Remove defined illegal characters from string
如果它們背對背,則字符匹配。 如果定義的非法字符是長字符串的一部分,則不會返回正確的已清理文本。 我想要找到並用空格替換的非法字符是'-_ + = [] {} \\ |'
我已經閱讀了各種正則表達式博客,Mozilla Developer Network網站,以及stackoverflow中的一些答案。 我使用了\\ for +,[和|。 如果有更簡單的方法,請分享。
function dirtyString(str) {
cleanString = str.replace(/-_\+=\[]{}\|/g, "");
return cleanString;
}
對於我運行的大多數示例代碼,我都沒有得到任何返回。 我在Codepen和jsfiddle上運行。
嘗試將您的角色放入正則表達式字符類:
function dirtyString(str) { cleanString = str.replace(/[\\-_+=\\[\\]{}\\\\|]/g, ""); return cleanString; } var str = "HELLO-_+=[]{}|WORLD"; console.log(str); console.log(dirtyString(str));
注意:即使在正則表達式字符類中,也應該轉義方括號和反斜杠(盡管在每種正則表達式中並不總是如此)。
你需要通過一個字符類( []
)來選擇它們;
function dirtyString(str) { cleanString = str.replace(/[\\-_+=\\[\\]{}\\\\|]/g, ""); return cleanString; } var string = "This -str_+in=g[ ]is {d}i|rty."; console.log(dirtyString(string));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.