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>
執行指令碼後,事件被觸發,從特殊字元替換的文字將顯示在網頁上。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP