js中用正则表达式取值 js正则表达式取[]中的值

js \u6b63\u5219\u8868\u8fbe\u5f0f\u83b7\u53d6${}$\u4e2d\u7684\u503c

var 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

  • JS姝e垯鍙栧闂,鍙栨墍鏈塈MG鏍囩鐨剆rc鍊
    绛旓細content.replace(//gi, function (match, capture) { document.write(capture+"")});
  • js姝e垯琛ㄨ揪寮鍙杋d鍙傛暟鐨勫
    绛旓細var id="a.html?id=1234321&type=df".match(/id=(\d{7})/)[1]
  • js鍒╃敤姝e垯琛ㄨ揪寮鎻愬彇瀛楃涓蹭腑鐨勭壒娈婂瓧绗︿覆
    绛旓細杩欎釜鐩存帴鐢╦avascript鐨姝e垯琛ㄨ揪寮鍙栧氨鍙互浜嗐備笅闈㈡槸绠鍗曠殑浠g爜瀹炵幇锛屼粎渚涘弬鑰冿細var a = 'asdfwlf!@#@##$%$%^SFDGD^%^%&&$#';console.log(a.match(/[\~!@#$%^&*-_]/g));//杩欎釜缁撴灉鏄細["!", "@", "#", "@", "#", "#", "$", "%", "$", "%", "^", "S", ...
  • 濡備綍鐢js姝e垯琛ㄨ揪寮鎻愬彇鍑哄瓧绗︿覆(涓嶅惈寮曞彿):鈥2013骞11鏈5鏃ヤ笂鍗9鐐...
    绛旓細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'));
  • js姝e垯琛ㄨ揪寮鍙朳]涓殑鍊
    绛旓細var reg = /[^\[]*\[(.*)\][^\]]*/;var str = "1111[122]";console.log(str.replace(reg,'$1'));str = "23[adf[223]]";console.log(str.replace(reg,'$1'));
  • 濡備綍浣跨敤js涓鐨姝e垯琛ㄨ揪寮鍙栧嚭鏈鍚庝竴涓崟璇?
    绛旓細var str = 'hello hi happy';var reg = /\s/;var result = str.split(reg);console.log(result[result.length - 1]);
  • 鐢js鐨姝e垯琛ㄨ揪寮妫娴嬬數璇濆彿鐮,瑕佹眰,蹇呴』鏄1寮澶,鍙兘鏄暟瀛,骞朵笖鏄...
    绛旓細姝e垯琛ㄨ揪寮锛/^1\d{10}$/ 绛旀婕旂ず锛氳〃杈惧紡鎰忔濊В鏋愶細锛1锛変互1涓哄紑澶达紱锛2锛塡d琛ㄧず鏁板瓧锛孿d{10}琛ㄧず鍑虹幇10娆℃暟瀛楋紱锛3锛$琛ㄧず缁撳熬锛屽嵆鍖归厤杈撳叆瀛楃涓茬殑缁撳熬浣嶇疆锛涳紙4锛夋牴鎹紙1锛夈侊紙2锛夈侊紙3锛夛紝姝eソ琛ㄧず11浣嶆暟瀛
  • 鐢ㄦ鍒欒〃杈惧紡鎬庢牱鑾峰彇a鏍囩鐨刪ref閲岄潰鐨勫,鎬,鍦ㄧ嚎绛!
    绛旓細鐢js 浠g爜濡備笅锛歷ar pat=/href="(.*)"/;pat.exec('
  • js浣跨敤姝e垯琛ㄨ揪寮鑾峰彇閾炬帴涓殑涓涓插瓧绗,涓轰粈涔堟埅鍙栨彁绀轰负null?_鐧惧害...
    绛旓細浣姝e垯琛ㄨ揪寮鍜屽瓧绗︿覆涓嶅搴旓紝淇敼浣犵殑瀛楃涓叉垨鑰呬慨鏀规鍒欒〃杈惧紡锛屾垜鎻愪緵淇敼瀛楃涓茬殑鏂瑰紡 function getUrlParam(name) { var url2 = "?d=abcdefg&"; var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); console.log(reg); var r = url2.substr(1).match(...
  • 瀵js姝e垯琛ㄨ揪寮
    绛旓細瀵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,鍙鏄暟瀛楀氨琛屻
  • 扩展阅读:js表达式生成器 ... javascript 用法 ... 正则表达式大全 整理版 ... js获取json中的某个值 ... 正则表达式提取json值 ... 20个常用的正则表达式 ... 手机号正则表达式js ... js正则表达式匹配中文 ... 最全的常用正则表达式大全 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网