【发布时间】:2016-12-25 13:20:33
【问题描述】:
我有这个字符串:
3EFF3E[ADMIN] 99FF99User1 : test
我想知道是否有任何方法可以检测字符串是否实际包含颜色。颜色可能在任何地方。
【问题讨论】:
-
请更新问题以包含您已经尝试过的代码,以及问题的描述。
标签: javascript regex hex
我有这个字符串:
3EFF3E[ADMIN] 99FF99User1 : test
我想知道是否有任何方法可以检测字符串是否实际包含颜色。颜色可能在任何地方。
【问题讨论】:
标签: javascript regex hex
如果您只想查找字符串是否连续包含 6 个十六进制数字,您可以使用 RegExp#test()
/[0-9A-F]{6}/i.test(str);
这将返回一个布尔值。
要真正找到颜色是什么,一个简单的方法是使用String#replace(),带有一个函数:
var str = '3EFF3E[ADMIN] 99FF99User1 : test';
var colors = [];
str.replace(/[0-9A-F]{6}/gi, function(color) {
colors.push(color);
});
console.log(colors);
或者您可以在循环中使用更传统的RegExp#exec():
var str = '3EFF3E[ADMIN] 99FF99User1 : test';
var colors = [];
var match, colorReg = /[0-9A-F]{6}/gi;
while ((match = colorReg.exec(str)) !== null) {
colors.push(match[0]);
}
console.log(colors);
【讨论】: