JavaScript 删除特殊字符
Mehvish Ashiq
2024年2月15日
有时,我们的字符串中有我们不想显示的特殊字符。我们使用 replace()
方法搜索正则表达式(也称为正则表达式)或值。
它输出具有替换值的新字符串,但不更改原始字符串。让我们从基本的开始。
在没有 jQuery 的情况下删除 JavaScript 中的特殊字符
JavaScript 代码:
var stringValue = '&485,431,0458,92347';
var newString = stringValue.replace(/(^\&)|,/g, ' ');
console.log('String before replacement: ' + stringValue);
console.log('String after replacement: ' + newString);
输出:
"String before replacement: &485,431,0458,92347"
"String after replacement: 485 431 0458 92347"
在上面的代码中,(^\&)
删除了&
符号和 ,
(逗号)用于从字符串中删除 ,
。g
修饰符表示全局,而|
用作 OR
运算符。
这意味着 replace()
函数采用一个正则表达式,从整个字符串中删除 &
和 ,
并将其替换为单个空格。
我们还可以定义一个包含所有特殊字符的字符串,并在 RegExp()
对象中使用该字符串以使代码更具可读性和可维护性。请参阅以下代码。
var specialChars = '!@#$^&%*()+=-[]\/{}|:<>?,.';
var stringValue = '&485,431,(0458,]92347:';
console.log('String before replacement: ' + stringValue);
for (var i = 0; i < specialChars.length; i++) {
stringValue =
stringValue.replace(new RegExp('\\' + specialChars[i], 'g'), '');
}
console.log('String after replacement: ' + stringValue);
输出:
"String before replacement: &485,431,(0458,]92347:"
"String after replacement: 485431045892347"
我们遍历一个完整的字符串来搜索每个特殊字符并将其删除以获得上述输出。在这里,RegExp
对象匹配模式中的文本。
你可以在这里找到更多关于它的信息。
假设我们从 HTML 元素中获取一个字符串,替换特殊字符,然后将其显示在你的屏幕上。让我们用 jQuery 来练习一下。
使用 jQuery 删除 JavaScript 中的特殊字符
HTML 代码:
<!DOCTYPE html>
<html>
<head>
<title> Remove Special Characters</title>
</head>
<body>
<h2>The Original String</h2>
<p id="stringValue">Do [a search-for special characters] in string &:search and, "remove"#@ them:</p>
<h2>String After Replacement</h2>
<p id="demo"></p>
</body>
</html>
JavaScript 代码:
var specialChars = '!@#$^&%*()+=-[]\/{}|:<>?",.';
var stringValue = $('#stringValue').text();
for (var i = 0; i < specialChars.length; i++) {
stringValue =
stringValue.replace(new RegExp('\\' + specialChars[i], 'g'), '');
}
$('#demo').text(
stringValue) // text() returns the text content of the selected element.
输出:
作者: Mehvish Ashiq