在Javascript中从字符串中快速提取字母数字字符的方法

在Javascript中从字符串中快速提取字母数字字符的方法,javascript,Javascript,我知道我可以编写一个简单的循环来检查字符串中的每个字符,看它是否是字母数字字符。如果是一个,则将其连接到新字符串。就这样 但是,有没有更优雅的捷径呢。我有一个字符串(精确地说是CSS选择器),我只需要从该字符串中提取字母数字字符 有很多方法,基本正则表达式和替换 var str=“123^&*^&*^asdasdsad”; var clean=str.replace(/[^0-9A-Z]+//gi,”); console.log(str); 控制台日志(干净) 其中,OldString是要从中

我知道我可以编写一个简单的循环来检查字符串中的每个字符,看它是否是字母数字字符。如果是一个,则将其连接到新字符串。就这样


但是,有没有更优雅的捷径呢。我有一个字符串(精确地说是CSS选择器),我只需要从该字符串中提取字母数字字符

有很多方法,基本正则表达式和替换

var str=“123^&*^&*^asdasdsad”;
var clean=str.replace(/[^0-9A-Z]+//gi,”);
console.log(str);
控制台日志(干净)
其中,OldString是要从中删除非字母数字字符的字符串

"sdfasfasdf1 yx6fg4 { df6gjn0 } yx".match(/([0-9a-zA-Z ])/g).join("")
其中,
sdfasdf1 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()

有时你不能既矮又优雅,同时又快。从2008年开始查看以下条目:“。@SpencerWieczorek,但在这种情况下,你可以
\d
可能比
0-9
更好,我在尝试中错过了“i”!
"sdfasfasdf1 yx6fg4 { df6gjn0 } yx".alphanumeric()