每天CookBook之JavaScript-008

  • 使用正则表达式查找并高亮子字符串
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>007</title>
</head>
<style type="text/css">
.found
{
	background-color: #ff0;
}
</style>
<body>
	<form id="textsearch">
	<textarea id="incoming" cols="150" rows="10">
	</textarea>
	<p>
	Search pattern: <input type="text" id="pattern" type="text">
	</p>
	</form>
	<button id="searchSubmit">Search for pattern</button>
	<div id="searchResult"></div>
</body>
<script type="text/javascript">
document.getElementById("searchSubmit").onclick=function(){
	var pattern = document.getElementById("pattern").value;
	var re = new RegExp(pattern, "g");
	var searchString = document.getElementById("incoming").value;
	var matchArray;
	var resultString = "<pre>";
	var first = 0;
	var last = 0;
	while((matchArray = re.exec(searchString)) != null){
		last = matchArray.index;
		resultString += searchString.substring(first, last);
		resultString += "<span class='found'>" + matchArray[0] + "</span>";
		console.log(matchArray[0]);
		first = re.lastIndex;
	}
	resultString += searchString.substring(first, searchString.length);
	resultString += "</pre>";
	console.log(resultString);
	document.getElementById("searchResult").innerHTML = resultString;
};
</script>
</html>
posted @ 2016-07-09 11:02  4Thing  阅读(116)  评论(0编辑  收藏  举报