js正则表达式例子

//检查金额

var  reg = /^[0-9]+(.[0-9]{2})?$/;

var str = "33.123" //

console.log(reg.test(str))

var str = "0.12" //0.12

console.log(reg.test(str))

var str = "12.00"

console.log(reg.test(str))



 

//提取网页图片假若你想提取网页中所有图片信息,可以利用下面的表达式。

var reg = /<img[^>]+src=['"]([^'"]+)['"]{1}.*?\/>/g;

var str = "<html><body><img  src='http://www.baidu.com/1.jpg'   /><img src='http://www.baidu.com/2.jpg'/></body></html>"

var let

while(ret = reg.exec(str)){

    console.log(ret)

}

var url = "https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E5%A4%B4%E5%83%8F&t="

function getparm(url,name){

    var reg=new RegExp("(\\?|&)"+name+"=([^&]*)(&|$)","i")//注意\\?表示?开始的

    var r = url.match(reg);

    if(r != null){

        return decodeURIComponent(r[2]);

    }

    return "";

}

console.log(getparm(url,"word"))


 

//贪婪匹配,惰性匹配

// 重复类量词都具有贪婪性,在条件允许的前提下,会匹配尽可能多的字符。

// ?、{n} 和 {n,m} 重复类具有弱贪婪性,表现为贪婪的有限性。

// *、+ 和 {n,} 重复类具有强贪婪性,表现为贪婪的无限性。

// {n,m}?:尽量匹配 n 次,但是为了满足限定条件也可能最多重复 m 次。

// {n}?:尽量匹配 n 次。

// {n,}?:尽量匹配 n 次,但是为了满足限定条件也可能匹配任意次。

// ??:尽量匹配,但是为了满足限定条件也可能最多匹配 1 次,相当于 {0,1}?。

// +?:尽量匹配 1 次,但是为了满足限定条件也可能匹配任意次,相当于 {1,}?。

// *? :尽量不匹配,但是为了满足限定条件也可能匹配任意次,相当于 {0,}?。

// 表达式 .* 就是单个字符匹配任意次,即贪婪匹配。

// 表达式 .*? 是满足条件的情况只匹配一次,即最小匹配或惰性匹配。

var s = "<html><head><title></title></head><body></body></html>";

var r = /(<.*>)(<.*>)/

var a = s.match(r);

console.log(a);

//左侧表达式匹配"<html><head><title></title></head><body></body></html>"

console.log(a[1]);

console.log(a[2]);  //右侧表达式匹配“</html>”

var s = "<html><head><title></title></head><body></body></html>";

var r = /<.*?>/

var a = s.match(r);  //返回单个元素数组["<html>"]

console.log(a);


 

var str = 'aaa<div style="font-color:red;">123456</div>bbb'

var r = /<.+?>/

console.log(">>>>7",str.match(r)) //<div style="font-color:red;">


 

var r = /<.+>/

console.log(">>>>7",str.match(r)) //<div style="font-color:red;">123456</div>




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值