87,910
社区成员
发帖
与我相关
我的任务
分享
RegExp.escape = function(str) {
return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
};
function test(str) {
var html = document.body.innerHTML;
html = html.replace(/<script\b[^>]*>[\d\D]*?<\/script>/ig, '');
html = html.replace(/<style\b[^>]*>[\d\D]*?<\/style>/ig, '');
return new RegExp(RegExp.escape(str)+"(?![^<]*>)").test(html);
}
<script>
var str_name="张小,李四,王五";
var str_age="21岁,,18岁";
var str_money="1000.00,1500.00,2000.00";
</script>
<table border="1">
<tr><td>序号</td><td>姓名及年龄</td><td>工资</td></tr>
<tr><td>$id$</td><td>$name$($age$)</td><td>$money$</td></tr>
<tr><td>合计</td><td> </td><td>FFF</td></tr>
</table>
<script>
Array.prototype.forEach = function(action, scope) {
for (var i=0; i<this.length; i++) action.call(scope, this[i], i, this);
return this;
};
function toArray(list, selector) {
var ary = [];
Array.prototype.forEach.call(list, function(item) { ary.push(item); });
return ary;
};
function escapeHTML(s) {
with (document.createElement("div")) {
appendChild(document.createTextNode(s));
return innerHTML;
}
}
!function() {
var _id=0, rowCount=0;
var functions = { id: function() { return ++_id; } };
"name|age|money".split("|").forEach(function(name) {
var datas = window["str_" + name].split(",");
rowCount = datas.length;
functions[name] = function(i) { return datas[i]; };
});
var tab = document.getElementsByTagName("table")[0];
var tcs = toArray(tab.rows[1].cells);
function addRow(rowIndex) {
var row = tab.insertRow(tab.rows.length-1);
tcs.forEach(function(cell) {
var newCell = row.insertCell(-1);
newCell.innerHTML = cell.innerHTML.replace(/\$(\w+)\$/g, function($0, $1) {
return escapeHTML(functions[$1](rowIndex));
});
});
}
function insertBlankRow() {
var row = tab.insertRow(tab.rows.length-1);
tcs.forEach(function(cell) { row.insertCell(-1).innerHTML = " "; });
}
for (var i=0; i<rowCount; i++) addRow(i);
for (var i=0,length=(5-rowCount%5)%5; i<length; i++) insertBlankRow(i);
}();
</script>
<script>
var str_name="张小,李四,王五";
var str_age="21岁,,18岁";
var str_money="1000.00,1500.00,2000.00";
</script>
<table border="1">
<tr> <td>序号 </td> <td>姓名及年龄 </td> <td>工资 </td> </tr>
<tr> <td>$id$ </td> <td>$name$($age$) </td> <td>$money$ </td> </tr>
</table>
<script>
Array.prototype.forEach = function(action, scope) {
for (var i=0; i<this.length; i++) action.call(scope, this[i], i, this);
return this;
};
function toArray(list, selector) {
var ary = [];
Array.prototype.forEach.call(list, function(item) { ary.push(item); });
return ary;
};
function escapeHTML(s) {
with (document.createElement("div")) {
appendChild(document.createTextNode(s));
return innerHTML;
}
}
!function() {
var _id=0, rowCount=0;
var functions = { id: function() { return ++_id; } };
"name|age|money".split("|").forEach(function(name) {
var datas = window["str_" + name].split(",");
rowCount = datas.length;
functions[name] = function(i) { return datas[i]; };
});
var tab = document.getElementsByTagName("table")[0];
var tcs = toArray(tab.rows[1].cells);
function addRow(rowIndex) {
var row = tab.insertRow(-1);
tcs.forEach(function(cell) {
var newCell = row.insertCell(-1);
newCell.innerHTML = cell.innerHTML.replace(/\$(\w+)\$/g, function($0, $1) {
return escapeHTML(functions[$1](rowIndex));
});
});
}
for (var i=0; i<rowCount; i++) addRow(i);
tab.rows[1].parentNode.removeChild(tab.rows[1]);
}();
</script>
var str_name="张小,李四,王五";
var str_age="21岁,,18岁";
var str_money="1000.00,1500.00,2000.00";
names = str_name.split(",");
ages = str_age.split(",");
moneys = str_money.split(",");
trs = document.getElementById("table1").getElementsByTagName("tr");
for(var i=0;i<trs.length;i++){
trs[i].innerHTML = trs[i].innerHTML.replace("$name$",names[i])
.replace("$age$",ages[i])
.replace("$money$",moneys[i])
.replace("$id$",i+1);
}
<table id="table1">
<tr> <td>序号 </td> <td>姓名及年龄 </td> <td>工资 </td> </tr>
<tr> <td>$id$ </td> <td>$name$($age$) </td> <td>$money$ </td> </tr>
</table>