I have this string, containing 2 warnings and 3 errors, each warning/error is determined by it's start warning:
or error:
, and its ending, _
symbol:
我有这个字符串,包含2个警告和3个错误,每个警告/错误由它的启动警告:或错误:及其结尾,_符号决定:
var data="warning:No data found_error:There's no data to display_error:Too many connections_warning:Test not passed:please check spelling_error:Connection lost";
How can I make jQuery extract each error and warning separately? On a structure like this:
如何让jQuery分别提取每个错误和警告?在这样的结构上:
if (data.indexOf("warning:") >= 0){
var warnings.="<p class='warning'>"+EACHWARNINGHERE+"</p>";}
So that variable warnings would store this values:
所以变量警告会存储这个值:
var warnings="
<p class='warning'>No data found</p>
<p class='warning'>Test not passed:please check spelling</p>"
2 个解决方案
#1
2
Use split:
var data="warning:No data found_error:There's no data to display_error:Too many connections_warning:Test not passed:please check spelling_error:Connection lost";
var a = data.split('warning:');//first split by `warning:`
var c = [];
var warnings = '';
for(var i in a){
var b = a[i].split('error:');//now every part split again but by `error:`
if(b[0]){
warnings += "<p class='warning'>"+b[0].replace(/_$/,'')+"</p>";
}
}
Now warnings
is:
现在的警告是:
<p class='warning'>No data found</p>
<p class='warning'>Test not passed:please check spelling</p>
#2
0
split on '_' and then check if the sentences start with 'warning:' or 'error:'
拆分'_'然后检查句子是否以'warning:'或'error:'开头
var sentences = data.split('_')
for (var i=0; i<sentences.length; i++) {
ver sentence = sentences[i];
var sentenceType = data.slice(0,data.indexOf(':'));
var sentenceText = sentence.slice(data.indexOf(':')+1);
if (sentenceType == 'warning') {
// add warning element with sentenceText
}
else {
// add error element
}
}
#1
2
Use split:
var data="warning:No data found_error:There's no data to display_error:Too many connections_warning:Test not passed:please check spelling_error:Connection lost";
var a = data.split('warning:');//first split by `warning:`
var c = [];
var warnings = '';
for(var i in a){
var b = a[i].split('error:');//now every part split again but by `error:`
if(b[0]){
warnings += "<p class='warning'>"+b[0].replace(/_$/,'')+"</p>";
}
}
Now warnings
is:
现在的警告是:
<p class='warning'>No data found</p>
<p class='warning'>Test not passed:please check spelling</p>
#2
0
split on '_' and then check if the sentences start with 'warning:' or 'error:'
拆分'_'然后检查句子是否以'warning:'或'error:'开头
var sentences = data.split('_')
for (var i=0; i<sentences.length; i++) {
ver sentence = sentences[i];
var sentenceType = data.slice(0,data.indexOf(':'));
var sentenceText = sentence.slice(data.indexOf(':')+1);
if (sentenceType == 'warning') {
// add warning element with sentenceText
}
else {
// add error element
}
}