js中用正则表达式取值

作者&投稿:蒙歪 (若有异议请与网页底部的电邮联系)
js 正则表达式获取${}$中的值~

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中用正则表达式如何对用户名进行基本验证?
$表示结束。例:Regex reg = new Regex(@"^\\d{3,4}-\\d{7,8}$");\\x0d\\x0a加了开始结束标记之后,输入的数量和内容必须完全相同才为true(完全匹配)\\x0d\\x0a (\\d,代表数字0-9)(\\D,表示不是数字)(\\w,表示a-z,A-Z,0-9,_)(\\W 表示不是上面小w表示的)(\\s 表示...

正则表达式[\\s\\S]*
^匹配字符串开始$匹配字符串结束()为一个捕获组用中文表达出来,这个正则表达式的意思就是字符串开始 + n个空白字符 + ( n个任何字符 ) + n个空白字符 + 匹配字符串结束其中括号部分是是匹配成功后返回的内容。举例:^s*(.*?)s*$匹配 " 123sxdfds sdfsdf s "时会返回 123sxdfds sdfsdf s...

正则表达式<[\\\\s]*?script[^>]*?>[\\\\s\\\\S]*?<[\\\\s]*?\\\\\/[\\\\s]*?scr...
首先把Java的转义字符删除,实际用到的正则如下:<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\\/[\\s]*?script[\\s]*?> 含义 [\\s]*? 任意多个空白字符 [^>]*? 任意多个不是>的字符 [\\s\\S]*? 任意多个字符(无限制)这个正则就是匹配html里的脚本内容,如下面的字符串:<script type...

正则表达式中,怎么规定[\\S]*范围
z[\\S]*?o(?!o)解释:[\\S]*?加问号表示使用懒惰匹配,匹配的越少越好 o(?!o)断言之后没有o,前面的o是最后一个o,匹配所有o

易语言:正则表达式如何取多行文本中的内容?
开始关键字([\\s\\S]*?)结束关键字 ---应用实例:--- <table> <tr> <td>单元格1<\/td><td>单元格2<\/td> <\/tr> <tr> <td>单元格3<\/td><td>单元格4<\/td> <\/tr> <\/table> 正则表达式.创建 (“<tr>([\\s\\S]*?)<\/tr>”)...

正则表达式[\\s\\S]*?怎么解释?
可以匹配文档中任何一个位置。\\s 空白符 \\S 非空白符 [\\s\\S]任意字符 [\\s\\S]* 0个到任意多个字符 [\\s\\S]*? 0个字符,匹配任何字符前的位置。正则表达式中 \\s代表一个空白字符(可能是空格、制表符、其他空白)。\\\\s代表查找两个字符\\和s,因为\\在正则中有特殊意义,所有需要转义,...

正则表达式\\ d\\ s\\ w\\ s是什么意思?
3、从下面的代码例子中可以看到:【\\w】表示可以匹配任意一个数字、字母(包括大小写)和下划线。4、【.】表示可以匹配除换行符以外任意一个字符。5、如果想匹配小数点而不是想使用小数点在正则表达式中特殊的用法是,这个时候需要将正则表达式中的小数点进行转义,就是将【\\.】替换【.】,这样就可以...

如何用正则表达式,S0001规定这种编号。
S开头,后面四个数字的编号:^S\\d{4} 中间一定有个@, 后面加个.com的email:^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.com)

正则匹配两个方括号之间的内容,包括方括号本身要匹配字符串[baidu...
应该用正则表达式:\/\\[baidu\\][\\s\\S]*?\\[\\\/baidu\\]\/i 取第0捕获组的数据,就是字符串[baidu] ... [\/baidu]的所有内容 你的正则表达式\/\\[baidu\\]([\\s\\S]*)\\[\\\/baidu\\]\/Ui如果有两个[\/baidu],它就会匹配最长的字符串(贪婪匹配),比如字符串:[baidu] ... [\/baidu][baidu] .....

正则表达式提取所有的非数字
"\\D+",\\d表示提取数字,\\D表示非数字的,后面带个+号就行了

鸡泽县13833948879: js利用正则表达式提取字符串中的特殊字符串 -
祁疤佳伊: 这个直接用javascript的正则表达式取就可以了. 下面是简单的代码实现,仅供参考: var a = 'asdfwlf!@#@##$%$%^SFDGD^%^%&&$#'; console.log(a.match(/[\~!@#$%^&*-_]/g)); //这个结果是:["!", "@", "#", "@", "#"...

鸡泽县13833948879: 怎么用JS的正则表达式获取网页内容中的指定值 -
祁疤佳伊: <!DOCTYPE html><br><html><br> <head><br> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><br><br> </head><br> <body><br> <script type="text/javascript"><br> <!--<br> // 用正则可以这样做;如果不用正则,楼...

鸡泽县13833948879: js 用正则表达式替换字符串的值 -
祁疤佳伊: var str = {"day","money"};str.replace('"day":1','"day"',str);貌似不需要正则,因为你是指定了替换的字符串,正则一般不...

鸡泽县13833948879: JS正则表达式从字符串中取值并替换 -
祁疤佳伊: 你的目的是把D2 E3 F4的值相加,得到他们的和.这个不需要替换的,js数字直接相加就可以.<br>var D2=5,E3=10,F4=20;<br>var str = parseInt(D2)+parseInt(E3)+parseInt(F4); //parseInt是把字符转数字<br>alert(str);<br>这样str的值就是D2 E3 F4相加的结果.

鸡泽县13833948879: 在javascript中怎么用正则表达式??? -
祁疤佳伊: <script type="text/javascript"> var reg = /^\d{5}$/; var str = '12345'; var result;result = reg.test(str); //测试:str 是否符合 正则 ^\d{5}$,返回true 或 false//result = reg.exec(str); //查找:str 中否符合 正则 ^\d{5}$ 的字符,找不到返回 null</script>

鸡泽县13833948879: extjs 怎么使用正则表达式 -
祁疤佳伊: javascript本身支持正则表达式,和extjs没有关系.javascript中可以用反斜线将字符串括起来就表示一个正则表达式模式,例如 var regexp = /[0-9]{2,5}/; //regexp变量值就是一个正则模式,匹配2~5位数字也可以用创建对象的标准语法来表示,例如...

鸡泽县13833948879: JS如何用正则表达式 获取字符串内的匹配部份? -
祁疤佳伊: 实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test 实现的机制:通过replace的回调函数获取.可以通过下面的代码获取匹配部分 var str = "abcdefgname='test'sddfhskshjsfsjdfps"; var reg = /name='((\w|-|\s)+)/ig; ...

鸡泽县13833948879: javascript怎么实现把输入框中自己输入的正则赋值给代码中的正则?? 直接value赋值的 -
祁疤佳伊: var inputReg = ...; var reg = new RegExp(inputReg);inputReg就是你输入的正则表达式、然后RegExp是js的正则类、使用的话可以使用 reg.test('测试字符串');

鸡泽县13833948879: js 正则表达式获取${}$中的值 -
祁疤佳伊: var str = "${DataField}$ + ${Operation}$ + ${Data}$"; var reg = /[^\{\}]+(?=\})/g; str.match(reg);

鸡泽县13833948879: 在JavaScript中正则表达式的用法 -
祁疤佳伊: 正则表达式验证网址:var Reg=/^(http:\/\/w{3}\.)(\w+)\.(com|cn|net)$/; var str=" http://www.asp211.com" if(Reg.test(str)) alert("网址验证成功!");

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网