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

时间:2016-07-21 19:00:29

标签: javascript

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

但是,有没有更优雅的捷径可以做到这一点。我有一个字符串(准确的CSS选择器),我需要从该字符串中只提取字母数字字符。

3 个答案:

答案 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是您要从

中删除非字母数字字符的字符串