我知道我可以编写一个简单的循环来检查字符串中的每个字符,看看它是否是字母数字字符。如果是1,则将其连接到新字符串。就是这样。
但是,有没有更优雅的捷径可以做到这一点。我有一个字符串(准确的CSS选择器),我需要从该字符串中只提取字母数字字符。
答案 0 :(得分:4)
许多方法,使用替换
的基本正则表达式
var str = "123^&*^&*^asdasdsad";
var clean = str.replace(/[^0-9A-Z]+/gi,"");
console.log(str);
console.log(clean);
答案 1 :(得分:0)
"sdfasfasdf1 yx6fg4 { df6gjn0 } yx".match(/([0-9a-zA-Z ])/g).join("")
其中sdfasfasdf1 yx6fg4 { df6gjn0 } yx
可以用字符串变量替换。例如
var input = "hello { font-size: 14px }";
console.log(input.match(/([0-9a-zA-Z ])/g).join(""))
您还可以为字符串创建自定义方法。在开始时加入您的项目
String.prototype.alphanumeric = function () {
return this.match(/([0-9a-zA-Z ])/g).join("");
}
那么你可以在你的项目电话中随处思考
var input = "hello { font-size: 14px }";
console.log(input.alphanumeric());
或直接
"sdfasfasdf1 yx6fg4 { df6gjn0 } yx".alphanumeric()
答案 2 :(得分:-1)
var NewString = (OldString).replace(/([^0-9a-z])/ig, "");
其中OldString是您要从
中删除非字母数字字符的字符串