哪位高人帮看看,
为什么这个表达搞不懂用innerHTML得到的字符串
多谢
<html>
<head>
<script language="javascript" type="text/javascript" src="demo.js" >https:1111 https: 第0次得到这里</script>
<script type="text/javascript">var tStr = "https:2222";
function getElement(){
                    var reg = /^https?:\d*/g;
                    var tes = "https:234324, http:";
                    var scr =document.getElementsByTagName("SCRIPT");
                    for(var i=0;i<scr.length;i++){
                        window.alert(scr[i].innerHTML);
                        //这句可以得到
                        //window.alert(reg.exec(tStr+scr[i].innerHTML));
                        //这句为什么得到null
                                 window.alert(reg.exec(scr[i].innerHTML));}
                   }</script>
</head>
<body><div style="display:block" id=login>
 <form id=loginform onsubmit=getElement(); method=post name=loginform>
<div>
<br/><br/>
<input type="submit" value="测试" class="btn" id="login_btn" />
</div>
   </form>
</div><br/><br/>
为什么正则无法解析innerHTML获取的字符串?</body>
</html>

解决方案 »

  1.   

    没明白楼主想要做什么,
    var reg = /^https?:\d*/g;
    既然是要匹配多个的话把开始标记符^去掉吧(不然只能匹配到第一个): var reg = /https?:\d*/g;
      

  2.   

    找SCRIPT里面的url啊,但是搞到现在实现什么功能都不重要了,现在比较纠结的是正则表达式为什么无法解析innerHTML得到的string啊,为神码啊为神码~~高人知道吗,拉兄弟一把啊,掉进细节出不来了啊,,
      

  3.   

    g随便去掉了,但还是要保留^,第一个script中的https:1111应该找得到啊,为什么就是null呢,,
      

  4.   

    var reg = /^https?:\d*/g;
    ========
    var reg = /https?:\d*/gi;
      

  5.   

    谢谢各位的支持已经找到原因了
    innerHTML拿到的string是"\r\nhttps:1111 https: 第0次得到这里" 
    多谢
      

  6.   

    你妹的innerHTML随便给老纸乱加东西