各位大侠,帮忙看下这个js的正则表达为什么搞不动用innerHTML得到字符串?
用var tStr = "https:2222";都可以搞,
用innerHTML得到字符串就搞不动,这是为神码?
[code="html"]
为什么正则无法解析innerHTML获取的字符串?
[/code]
/^https?:\d*/g
你这个是已https开头的啊
而innerHTML拿到的是这个
"\r\nhttps:1111 https: 第0次得到这里"
你自己打开调试看看就知道啦
楼主要得到的是什么?https:1111可以拿到啊
分析一下你这个正则表达式吧:
[quote]var reg = /^https?:\d*/g;[/quote]
这里匹配了一个开始,就是说 匹配的字符串必须以http或https开头,:数字。
第一次得到:“https:1111 https: 第0次得到这里”是没错的。而第二次,scr[i].innerHTML=“var tStr = "https:2222"; ....”
这个字符串是以var开头的,所以没有匹配上。
如果你想得到所有 http或https:数字的字符串,那么用这个正则表达式:
[quote]var reg = /https?:\d*/g;[/quote]
试试。