用于查找id的正则表达式

时间:2015-01-20 14:42:01

标签: javascript regex

我有以下测试字符串,我需要用随机数替换id="XXX"widgetid="XXX"

var test = '<div id="1566" widgetid="1566"></div><div id="1567" widgetid="1568"></div>';
你可以告诉我一个正则表达式吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试类似

的内容
/ (?:widget)?id="(\d+)"/ig
像这样

&#13;
&#13;
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;
&#13;
&#13;

用随机数替换,你可以这样做:

&#13;
&#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;
&#13;
&#13;