Fork me on GitHub

一些正则

获取URL带的参数:

function cc(string,name){
var reg= RegExp('(^|&)' + name + '([^|&])(&|$)');  //"()"是子表达式开始的标志;“^”是匹配字符串开始的地方,如果在“[]”内表示非;“|”表示“或”;“|&”表示有没有&都可以;“$”是匹配字符串结束的位置。
var r = string.substr(string.indexof('\?') +1).match(reg);
if(r != '') return decodeURI(r[2]);
return '';
}  
获取某段特殊字符第二个到第三个=之间的数字:
var str = '=cccc222 =?**vvv=bb444b=ss'
str.match(/=[\S\s]*=[\S\s]*=\D*([0-9]+)/) //
\S非空格的所有字符,
\s:空格
[\S\s]所有字符
*代表出现几个字符都可以
+:出现>=1次
{3,}出现>=3次
{3,4}3=<出现<=4次
\D:非数字 === [^\d]
[0-9]:0到9的数字
():捕获内容
^:是匹配字符串开始的地方
$:匹配结束

匹配是否是图片:

/.(png|jpg|jpng)$/

 RegExp().test() // 匹配是否有 返回true或false

RegExp().exec() //捕获匹配的字符 === string.match(正则)

注: 

substr(number,number)方法是检索从初始位置到结束的字符串;

indexof(string)方法是检索字符串开始的位置;

match()方法可正则匹配,返回一个数组,数组[0]放的是匹配出的字符串,其他储存的是与正则子表达式匹配出的字符串,index储存的是与父级字符串匹配开始的位置,input储存的是父字符串。

正则检验超好用网站

https://regexper.com/

网站用法:

 

posted @ 2017-03-06 20:29  天满  阅读(187)  评论(0编辑  收藏  举报