我有以下测试字符串,我需要用随机数替换id="XXX"
和widgetid="XXX"
。
var test = '<div id="1566" widgetid="1566"></div><div id="1567" widgetid="1568"></div>';
你可以告诉我一个正则表达式吗?
答案 0 :(得分:2)
您可以尝试类似
的内容/ (?:widget)?id="(\d+)"/ig
像这样
var regex = /(?:widget)?id="(\d+)"/g;
var test = '<div id="1566" widgetid="1566"></div><div id="1567" widgetid="1568"></div>';
while((result = regex.exec(test)) != null) {
console.log(result);
}
&#13;
用随机数替换,你可以这样做:
function random(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
var regex = /((?:widget)?id)="(\d+)"/g;
var test = '<div id="1566" widgetid="1566"></div><div id="1567" widgetid="1568"></div>';
var new_string = test;
while((result = regex.exec(test)) != null) {
new_string = new_string.replace(result[0], result[1] + '="' + random(1, 9999) + '"');
}
console.log(new_string);
&#13;