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

Quick way to extract alphanumeric characters from a string in Javascript

本文关键字:数字字符 方法 Javascript 字符串 提取      更新时间:2023-09-26

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

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

有很多方法可以做到这一点,用替换的基本正则表达式

var str = "123^&*^&*^asdasdsad";
var clean = str.replace(/[^0-9A-Z]+/gi,"");
console.log(str);
console.log(clean);

"sdfasfasdf1 yx6fg4 { df6gjn0 } yx".match(/([0-9a-zA-Z ])/g).join("")

其中CCD_ 1可以由字符串变量代替。例如

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()
var NewString = (OldString).replace(/([^0-9a-z])/ig, "");

其中OldString是要从中删除非字母数字字符的字符串