【问题标题】:How to detect if a string contains a HEX color code如何检测字符串是否包含 HEX 颜色代码
【发布时间】:2016-12-25 13:20:33
【问题描述】:

我有这个字符串:

3EFF3E[ADMIN] 99FF99User1 : test

我想知道是否有任何方法可以检测字符串是否实际包含颜色。颜色可能在任何地方。

【问题讨论】:

  • 请更新问题以包含您已经尝试过的代码,以及问题的描述。

标签: javascript regex hex


【解决方案1】:

如果您只想查找字符串是否连续包含 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-11
    • 2011-06-12
    • 1970-01-01
    • 2013-01-26
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多