js中用正则表达式取值 js正则表达式取[]中的值
js \u6b63\u5219\u8868\u8fbe\u5f0f\u83b7\u53d6${}$\u4e2d\u7684\u503cvar str = "${DataField}$ + ${Operation}$ + ${Data}$";var reg = /[^\{\}]+(?=\})/g;str.match(reg);
var reg = /[^\[]*\[(.*)\][^\]]*/;var str = "1111[122]";console.log(str.replace(reg,'$1'));str = "23[adf[223]]";console.log(str.replace(reg,'$1'));
最基本的表达式创建法。// Description: 演示正则表达式的创建
// CopyRight: http://www.cnblogs.com/yangmingming
// Notes: 最基本的创建法演示
var re=new RegExp ();
//RegExp 是JS中的类,同Array类似。然而这个创建方法没有指定表达式内容
re=new RegExp ("a");
//最简单的正则表达式,将匹配字母a
re=new RegExp ("a","i");
//重载的构造函数,其第二个参数指定将不区分大小写
其中,对于第二个参数,为可选参数,包括三种:
g :全文查找;
i :不区分大小写;
m:多行查找;
然而更为常见的正则表达式创建法则是:字面量的声明方式。 即:
// Description: 演示正则表达式的创建
// CopyRight: http://www.cnblogs.com/yangmingming
// Notes: 最基本的创建法演示
var re=/a/i;
//其作用同:re=new RegExp ("a","i"),而且更常用。
正则表达式方法:
test 方法:返回Boolean型。它指出被查找的字符串中是否包含该模式。如果存在返回True,否则返回False;
exec 方法:用正则表达式模式在字符串中寻找,并返回符合该正则表达式模式的数组;
说下思路吧:
1、先用字符串操作截取“?”之后的所有字符串。
2、用“,”split一下,取到所有传递参数。
3、然后再用“=”区分两边的值。“=”左边的相当于key,右边的相当于value
多个参数为例
http://127.0.0.1/e/action/ShowInfo.php?classid=9&id=2";
方法一
<script language = javascript>
function request(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
//如你给出的地址可以这样
var classid = request("classid");
var id = request("id");
//然后你就可以对这些参数处理了
</script>
方法二、
var url = "http://127.0.0.1/e/action/ShowInfo.php?classid=9&id=2";
function parse_url(_url){
var pattern = /(\w+)=(\w+)/ig;
var parames = {};
url.replace(pattern, function(a, b, c){
parames[b] = c;
});
return parames;
}
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);
//结果 9, 2
<script language = javascript>
function request(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
//如你给出的地址可以这样
var classid = request("classid");
var id = request("id");
//然后你就可以对这些参数处理了
</script>
方法二、
var url = "http://127.0.0.1/e/action/ShowInfo.php?classid=9&id=2";
function parse_url(_url){
var pattern = /(\w+)=(\w+)/ig;
var parames = {};
url.replace(pattern, function(a, b, c){
parames[b] = c;
});
return parames;
}
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);
//结果 9, 2
绛旓細content.replace(//gi, function (match, capture) { document.write(capture+"")});
绛旓細var id="a.html?id=1234321&type=df".match(/id=(\d{7})/)[1]
绛旓細杩欎釜鐩存帴鐢╦avascript鐨姝e垯琛ㄨ揪寮鍙栧氨鍙互浜嗐備笅闈㈡槸绠鍗曠殑浠g爜瀹炵幇锛屼粎渚涘弬鑰冿細var a = 'asdfwlf!@#@##$%$%^SFDGD^%^%&&$#';console.log(a.match(/[\~!@#$%^&*-_]/g));//杩欎釜缁撴灉鏄細["!", "@", "#", "@", "#", "#", "$", "%", "$", "%", "^", "S", ...
绛旓細var str = "2013骞11鏈5鏃ヤ笂鍗9鐐"var matches = str.match(/\d+/g);var year = matches[0];var month = matches[1];var date = matches[2];var hour = matches[3];alert([year, month, date, hour].join('\n'));
绛旓細var reg = /[^\[]*\[(.*)\][^\]]*/;var str = "1111[122]";console.log(str.replace(reg,'$1'));str = "23[adf[223]]";console.log(str.replace(reg,'$1'));
绛旓細var str = 'hello hi happy';var reg = /\s/;var result = str.split(reg);console.log(result[result.length - 1]);
绛旓細姝e垯琛ㄨ揪寮锛/^1\d{10}$/ 绛旀婕旂ず锛氳〃杈惧紡鎰忔濊В鏋愶細锛1锛変互1涓哄紑澶达紱锛2锛塡d琛ㄧず鏁板瓧锛孿d{10}琛ㄧず鍑虹幇10娆℃暟瀛楋紱锛3锛$琛ㄧず缁撳熬锛屽嵆鍖归厤杈撳叆瀛楃涓茬殑缁撳熬浣嶇疆锛涳紙4锛夋牴鎹紙1锛夈侊紙2锛夈侊紙3锛夛紝姝eソ琛ㄧず11浣嶆暟瀛
绛旓細鐢js 浠g爜濡備笅锛歷ar pat=/href="(.*)"/;pat.exec('
绛旓細浣姝e垯琛ㄨ揪寮鍜屽瓧绗︿覆涓嶅搴旓紝淇敼浣犵殑瀛楃涓叉垨鑰呬慨鏀规鍒欒〃杈惧紡锛屾垜鎻愪緵淇敼瀛楃涓茬殑鏂瑰紡 function getUrlParam(name) { var url2 = "?d=abcdefg&"; var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); console.log(reg); var r = url2.substr(1).match(...
绛旓細瀵js姝e垯琛ㄨ揪寮 10 1.姝e垯琛ㄨ揪寮忔暟瀛楄寖鍥1-360,澶т簬绛変簬1灏忎簬绛変簬360,蹇呴』鏄鏁存暟銆2.姝e垯琛ㄨ揪寮忔暟瀛楄寖鍥1-5000,澶т簬绛変簬1灏忎簬绛変簬5000,鍙鏄暟瀛楀氨琛屻... 1. 姝e垯琛ㄨ揪寮 鏁板瓧鑼冨洿1-360,澶т簬绛変簬1灏忎簬绛変簬360,蹇呴』鏄鏁存暟銆2. 姝e垯琛ㄨ揪寮 鏁板瓧鑼冨洿 1-5000,澶т簬绛変簬1灏忎簬绛変簬5000,鍙鏄暟瀛楀氨琛屻