一行代码提取url中querystring的某个key的值
var itemdata = "OrderFilter=0&ProjectTag=15&DateType=0"; var projectTag = itemdata.replace(/.*projecttag=([\d]+).*/gi, "$1");
重点就是第二行,用匹配到的括号里的值替换整个文本。
如果用传统方法,肯定要先split"&"符号,再split"="符号,然后再取值。
这样多好,就一行代码,如果说正则效率不高或有问题,还可以优化。
重要的是这种思路和技巧。此方法仅供参考,具体怎么写,要根据自己的url的querystring而定。
另外提供一个contains的方法
//自定义contains方法 Array.prototype.contains = function (obj) { var i = this.length; while (i--) { if (this[i] == obj) { return true; } } return false; } var projectTags = [1,2,15,14,9,8,3,11,13,16,5,4,6,7]; var isInProjectTags = projectTags.contains(15);
.net可以这么写:
var str = "asjdflaksj*18688888888*asdf"; var result = Regex.Replace(str, @"(1[\d]{10})", "<a href=\"tel:$1\">$1</a>");//<a href="tel:18688888888">拨号</a>
java可以这么写:
String str = "asdfadf;TKK='427735.4060570411';sdfasfd";
String result = str.replaceAll(".*TKK='(.*)';.*", "$1");//提取TKK的值
-----------------------------------------------------------------------------------------------------------
需求:提取下面括号里面的英文字符
var str = "繁体中文(zh-tw)"; var text = str.replace(/.*\((.*)\)/, "$1");
需求:提取红色内容,<p>的个数不固定
<table class="infobox vcard" style="width:22em"><tr><td><div>sssssssssssssssssss</div></td></tr></table>
<p>a</p>
<p>b</p>
<p>c</p>
<div id="toc" class="toc">ddddddddddddd</div>
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF8"> <title></title> <script src="http://x.x.x.x/Content/js/jquery-2.1.1.min.js"></script> </head> <body> <div class="abc"> <div></div> <p></p> <table class="infobox vcard" style="width:22em"><tr><td><div>sssssssssssssssssss</div></td></tr></table> <p>a</p> <p>b</p> <p>c</p> <div id="toc" class="toc">ddddddddddddd</div> <div id="fdfdf"></div> <p></p> <p></p> <p></p> </div> <script type="text/javascript"> $(document).ready(function () { var str = $(".abc").html(); //var str = '<table class="infobox vcard" style="width:22em">xxxx</table><p>a</p><p>b</p><p>c</p><div id="toc" class="toc">'; var str = str.replace(/([\s\S]*\<\/table\>)([\s\S]*)(\<div.*id="toc"[\s\S]*)/gi, "$2"); console.log(str); }); </script> </body> </html>