Javascript RegExp解析IRC颜色代码
我正在尝试解析格式为Javascript RegExp解析IRC颜色代码,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我正在尝试解析格式为\u00030到\u000315的IRC颜色代码。 我将所有RGB颜色添加到一个表中,并使用以下命令循环它们: console.log(i + ">" + '\\u0003'+i + ">" + colors[i]); var re = new RegExp("\\u0003"+i, 'gi'); console.log(re + " > " + '</span><span style="color:' + colors[i]+ ';"&g
\u00030
到\u000315
的IRC颜色代码。
我将所有RGB颜色添加到一个表中,并使用以下命令循环它们:
console.log(i + ">" + '\\u0003'+i + ">" + colors[i]);
var re = new RegExp("\\u0003"+i, 'gi');
console.log(re + " > " + '</span><span style="color:' + colors[i]+ ';">');
我好像错过了什么\u
或\\u
没有区别,gi
,g
,i
或无区别,总之,它似乎根本没有以这种方式解析任何东西
我发现,如果我删除RegExp,从而删除html.replace的修饰符(“\\u00314”,”)代码>它将替换第一次出现,但这还不够
有什么明显的地方我遗漏了吗?下面的代码最终起到了作用。将字符串保存到变量中,而不是在函数中执行+i
var val = $('textarea#topic').val();
var html = "<span style=\"color: #fff;\">" + val + "</span>";
var colors = [
"rgb(0,147,0)",
"rgb(0,0,0)",
"rgb(0,0,127)",
"rgb(0,147,0)",
"rgb(255,0,0)",
"rgb(127,0,0)",
"rgb(156,0,156)",
"rgb(252,127,0)",
"rgb(255,255,0)",
"rgb(0,252,0)",
"rgb(0,147,147)",
"rgb(0,255,255)",
"rgb(0,0,252)",
"rgb(255,0,255)",
"rgb(127,127,127)",
"rgb(210,210,210)"
];
for(i = (colors.length-1); i >= 0; i--) {
var index = 0;
var str = "\\u0003"+i+"";
while((index = html.indexOf(str, index + 1)) > -1) {
html = html.replace(str, '</span><span style="color:' + colors[i]+ ';">');
console.log(str + ">" + colors[i]);
}
$('div#topictext').html(html);
done = false;
setTimeout(setTrue(), 5000);
while(!done) {
}
}
html = html.replace("\\u0002", "");
html = html.replace("\\u000f", "");
$('div#topictext').html(html);
var val=$('textarea#topic').val();
var html=“+val+”;
变量颜色=[
“rgb(0147,0)”,
“rgb(0,0,0)”,
“rgb(0,0127)”,
“rgb(0147,0)”,
“rgb(255,0,0)”,
“rgb(127,0,0)”,
“rgb(156,0156)”,
“rgb(252127,0)”,
“rgb(255255,0)”,
“rgb(0252,0)”,
“rgb(0147147)”,
“rgb(0255255)”,
“rgb(0,0252)”,
“rgb(255,0255)”,
“rgb(127127)”,
“rgb(210210)”
];
对于(i=(colors.length-1);i>=0;i--){
var指数=0;
var str=“\\u0003”+i+”;
而((index=html.indexOf(str,index+1))>-1){
html=html.replace(str',);
console.log(str+“>”+颜色[i]);
}
$('div#topictext').html(html);
完成=错误;
setTimeout(setTrue(),5000);
而(!完成){
}
}
html=html.replace(“\\u0002”和“”);
html=html.replace(“\\u000f”,”);
$('div#topictext').html(html);
html.replace(“\\u00314”g,”
你在做html=html.replace(…)?是的,我是@aaron\u world\u traveler@RokoC.Buljan,这不能解决问题,我仍然不能这样做
\u0002\u000314:: \u00037Channel Name \u000314:: \u00030SITE: \u00034UP \u000314:: \u00030IRC BONUS: \u00034OFFLINE \u000314:: \u00030SIGNUPS: \u00034CLOSED \u000314::\u000f
var val = $('textarea#topic').val();
var html = "<span style=\"color: #fff;\">" + val + "</span>";
var colors = [
"rgb(0,147,0)",
"rgb(0,0,0)",
"rgb(0,0,127)",
"rgb(0,147,0)",
"rgb(255,0,0)",
"rgb(127,0,0)",
"rgb(156,0,156)",
"rgb(252,127,0)",
"rgb(255,255,0)",
"rgb(0,252,0)",
"rgb(0,147,147)",
"rgb(0,255,255)",
"rgb(0,0,252)",
"rgb(255,0,255)",
"rgb(127,127,127)",
"rgb(210,210,210)"
];
for(i = (colors.length-1); i >= 0; i--) {
var index = 0;
var str = "\\u0003"+i+"";
while((index = html.indexOf(str, index + 1)) > -1) {
html = html.replace(str, '</span><span style="color:' + colors[i]+ ';">');
console.log(str + ">" + colors[i]);
}
$('div#topictext').html(html);
done = false;
setTimeout(setTrue(), 5000);
while(!done) {
}
}
html = html.replace("\\u0002", "");
html = html.replace("\\u000f", "");
$('div#topictext').html(html);