JavaScript 正则表达式 - 如何替换特殊字符?
既不是字母也不是数字的字符称为特殊字符。特殊字符基本上是所有不可读的字符,包括标点符号、重音符号和符号标记。
移除字符串中的所有特殊字符,使其更易于阅读和理解。在进入文章之前,让我们快速了解一下JavaScript 中的正则表达式。
JavaScript 中的正则表达式
正则表达式是可以用于匹配字符串中字符组合的模式。在 JavaScript 中,正则表达式是对象。这些模式可以与 RegExp 的exec()和test()方法以及 String 的match()、matchAll()、replace()、replaceAll()、search()和split()方法一起使用。
语法
以下是正则表达式的语法:
/pattern/modifier(s);
让我们深入了解这篇文章,以便更好地理解如何替换特殊字符。为此,我们将使用replace()方法。
使用 replace() 方法替换特殊字符
JavaScript 内置方法string.replace()可用于将提供的字符串的一部分替换为另一个字符串或正则表达式。原始字符串不会改变。
语法
以下是replace()的语法:
string.replace(searchValue, newValue)
要了解更多关于替换特殊字符的信息,让我们来看下面的例子。
示例 1
在下面的示例中,我们正在运行脚本以使用replace()替换所有特殊字符。
<!DOCTYPE html> <html> <body style="background-color:#ABEBC6"> <script> var statement = "We#@lcome!! To! The@ Tutorials$Point%"; var result = statement.replace(/[^a-zA-Z ]/g, ""); document.write(result); </script> </body> </html>
当脚本执行时,它将生成一个输出,其中包含已替换为脚本中使用的特殊字符的文本。
示例 2
考虑下面的示例,我们在其中运行脚本以使用replace()替换特殊字符。
<!DOCTYPE html> <html> <body> <p id="tutorial"></p> <button onclick="replacespecial()">Click To Change</button> <p id="tutorial1"></p> <script> var element_up = document.getElementById("tutorial"); var element_down = document.getElementById("tutorial1"); var statement = "Th@e B$es^t E-w#ay Le*arn(ing"; element_up.innerHTML = statement; function replacespecial() { element_down.innerHTML = statement.replace(/[&\/\#, +()$~%.'":@^*?<>{}]/g, '!'); } </script> </body> </html>
运行上述脚本后,将弹出输出,显示原始语句以及一个点击按钮。当用户点击按钮时,事件被触发,所有特殊字符都被替换为“!”,并显示在网页上。
示例 3
执行以下脚本,并观察如何使用replace()方法替换所有特殊字符。
<!DOCTYPE html> <html> <body> <script> let statement = "T!P, Wher$%e Y@ou F*ind L@ot O!f Courses" function replacespecial(_value){ var lowerCase = _value.toLowerCase(); var upperCase = _value.toUpperCase(); var replacement = ""; for(var i=0; i<lowerCase.length; ++i) { if(lowerCase[i] != upperCase[i] || lowerCase[i].trim() === '' || lowerCase[i].trim() === "." || lowerCase[i].trim() === ",") replacement += _value[i]; } return replacement; } let result = replacespecial(statement) document.write(result) </script> </body> </html>
执行脚本后,事件被触发,从特殊字符替换的文本将显示在网页上。
广告