我想使用JavaScript从字符串中删除除空格之外的所有特殊字符。
例如, 美国广播公司的测试#年代 应输出为 abc测试。
我想使用JavaScript从字符串中删除除空格之外的所有特殊字符。
例如, 美国广播公司的测试#年代 应输出为 abc测试。
当前回答
正则表达式
let string = "!#This tool removes $special *characters* /other/ than! digits, characters and spaces!!!$";
var NewString= string.replace(/[^\w\s]/gi, '');
console.log(NewString);
结果//删除除数字、字符和空格以外的特殊字符
实例:https://helpseotools.com/text-tools/remove-special-characters
其他回答
我不知道JavaScript,但它不是可能使用正则表达式?
像[^\w\d\s]这样的东西可以匹配除数字、字符和空白之外的任何东西。在JavaScript中找到语法只是一个问题。
点(.)可能不被认为是特殊的。我在Mozfet’s & Seagull的答案中添加了一个OR条件:
function isNumber (text) {
reg = new RegExp('[0-9]+$');
if(text) {
return reg.test(text);
}
return false;
}
function removeSpecial (text) {
if(text) {
var lower = text.toLowerCase();
var upper = text.toUpperCase();
var result = "";
for(var i=0; i<lower.length; ++i) {
if(isNumber(text[i]) || (lower[i] != upper[i]) || (lower[i].trim() === '') || (lower[i].trim() === '.')) {
result += text[i];
}
}
return result;
}
return '';
}
你可以指定你想要删除的字符:
string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '');
或者,要更改除数字和字母以外的所有字符,请尝试:
string = string.replace(/[^a-zA-Z0-9]/g, '');
试试这个:
const strippedString = htmlString.replace(/(<([^>]+)>)/gi, "");
console.log(strippedString);
你想从字符串中删除谁的特殊字符,准备一个列表,然后使用javascript替换函数删除所有特殊字符。
var str = 'abc'de#;:sfjkewr47239847duifyh';
alert(str.replace("'","").replace("#","").replace(";","").replace(":",""));
或者你可以为整个字符串运行循环,并将单个单个字符与ASCII码进行比较,并重新生成一个新字符串。