<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Table</title>
</head>
<body >
<input id='tt' type="text" >
<br>
<input type="button" value="asadf" onclick="xx(document.getElementById('tt').value)">
<div id='x1' style="height:400px; width:200px;border:1px solid #003300"></div><script language="javascript">
var $ = function(id){
return document.getElementById(id);
}
var cc="北京-01$上海-02$天津-03$重庆-04$辽宁-05$吉林-06$黑龙江-07$河北-08$山西-09$陕西-10$甘肃-11$青海-12$山东-13$安徽-14$江苏-15$浙江-16$河南-17$湖北-18$湖南-19$江西-20$台湾-21$福建-22$云南-23$海南-24$四川-25$贵州-26$广东-27$内蒙古-28$新疆-29$广西-30$西藏-31$宁夏-32$香港-33$澳门-34";
var str="";
for(var i=0;i<=600;i++)
{
if(str==""){
str = cc;
}
str= str+'$'+cc;
}
//var t= new Date().getTime();
function xx(s){
if(!/^[\u4e00-\u9fa5]+$/.test(s)) return;
$('x1').innerHTML = '';
var reg =new RegExp('('+s+'[\u4e00-\u9fa5]*)-(\\d{2})', "g"),arr=[],str1='',t=new Date().getTime();
while(reg.exec(str)){
arr[arr.length]=RegExp.$2;
str1 = str1+RegExp.$1+"<br>";
};
$('x1').innerHTML =str1;
alert(new Date().getTime()-t)
}
</script></body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Table</title>
</head>
<body >
<input id='tt' type="text" >
<br>
<input type="button" value="asadf" onclick="xx(document.getElementById('tt').value)">
<div id='x1' style="height:400px; width:200px;border:1px solid #003300"></div><script language="javascript">
var $ = function(id){
return document.getElementById(id);
}
var cc="北京-01$上海-02$天津-03$重庆-04$辽宁-05$吉林-06$黑龙江-07$河北-08$山西-09$陕西-10$甘肃-11$青海-12$山东-13$安徽-14$江苏-15$浙江-16$河南-17$湖北-18$湖南-19$江西-20$台湾-21$福建-22$云南-23$海南-24$四川-25$贵州-26$广东-27$内蒙古-28$新疆-29$广西-30$西藏-31$宁夏-32$香港-33$澳门-34";
var str="";
for(var i=0;i<=600;i++)
{
if(str==""){
str = cc;
}
str= str+'$'+cc;
}
//var t= new Date().getTime();
function xx(s){
if(!/^[\u4e00-\u9fa5]+$/.test(s)) return;
$('x1').innerHTML = '';
var reg =new RegExp('('+s+'[\u4e00-\u9fa5]*)-(\\d{2})', "g"),arr=[],str1='',t=new Date().getTime();
while(reg.exec(str)){
arr[arr.length]=RegExp.$2;
str1 = str1+RegExp.$1+"<br>";
};
$('x1').innerHTML =str1;
alert(new Date().getTime()-t)
}
</script></body>
</html>
var reg =new RegExp('('+s+'[\u4e00-\u9fa5]*)-(\\d{2})', "g"),arr=[],str1='',t=new Date().getTime();
//改成
var reg =new RegExp('([\u4e00-\u9fa5]*'+s+'[\u4e00-\u9fa5]*)-(\\d{2})', "g"),arr=[],str1='',t=new Date().getTime();
result = document.getElementById('x1'),
frag = document.createDocumentFragment(),
parent = result.parentNode,
str = "北京-01$上海-02$天津-03$重庆-04$辽宁-05$吉林-06$黑龙江-07$河北-08$山西-09$陕西-10$甘肃-11$青海-12$山东-13$安徽-14$江苏-15$浙江-16$河南-17$湖北-18$湖南-19$江西-20$台湾-21$福建-22$云南-23$海南-24$四川-25$贵州-26$广东-27$内蒙古-28$新疆-29$广西-30$西藏-31$宁夏-32$香港-33$澳门-34";
str = new Array(600 + 1).join(str);
function xx(s){
var
repeat = 5,
start = new Date().getTime();
frag.appendChild(result);
while(repeat--){
if (!/^[\u4e00-\u9fa5]+$/.test(s)) return;
var arr = [],
reg = new RegExp('(' + s + '[\u4e00-\u9fa5]*)-(\\d{2})', "g");
str.replace(reg, function(m, $1, $2){
arr[arr.length] = $1;
});
result.innerHTML = arr.join('<br>');
parent.appendChild(frag);
}
alert((new Date().getTime() - start) / 5);
}