javascript代码检查特殊字符并在其之前添加双斜杠?

标签 javascript regex special-characters

我的字符串包含一些特殊字符,需要在字符串前使用 (\) 双反斜杠进行转义。我的代码如下:

var data = "abckdef)ghijkl)-8-mno-3-(pqrstuvw-1-xyz)-5-thiaa-1-aza-";
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?~_";
for (var i = 0; i < data.length; i++) {
    if (iChars.indexOf(data.charAt(i)) != -1) {
        console.log("Your string has special characters. \nThese are not allowed.");
        return false;
    }
}

预期结果是:

abckdef\)ghijkl\)\-8\-mno\-3\-\(pqrstuvw\-1\-xyz\)\-5\-thiaa\-1\-aza\-

上面的代码查找字符串中的特殊字符,但我想在每次出现特殊字符之前添加 (\\)。有什么帮助吗?

最佳答案

使用正则表达式替换:

匹配:

/[!@#$%^&*()+=\-[\]\\';,./{}|":<>?~_]/

替换为:

\$&
>>> data.replace(/[!@#$%^&*()+=\-[\]\\';,./{}|":<>?~_]/g, "\\$&")
... "abckdef\)ghijkl\)\-8\-mno\-3\-\(pqrstuvw\-1\-xyz\)\-5\-thiaa\-1\-aza\-"

关于javascript代码检查特殊字符并在其之前添加双斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376698/

相关文章:

javascript - 仅使用 JavaScript 的 CORS

javascript - nvd3时间H :M:S displaying incorrectly in axis

python - 使用正则表达式捕获组 (Python)

java - 如何在 PostgreSQL 中出现第一个空格时拆分字符串

javascript - 计算 P 中保留非拉丁字符的字符数

c++ - 我如何在 C++ 中打印这个“█”特殊字符?

javascript - 谷歌距离计算器和自动完成

c# - 使用 Javascript 在 ASP.NET MVC Controller 操作上通过 POST(HttpPost 操作)下载文件

python - 泛化正则表达式以搜索维基百科类别

java - 元字符处的 String.split() +