即找到如下的文本:
<input type="text" name="cCode" value="" />上面的input中,忘记设置id属性了.怎么能写个正则表达式,一下就能找到所有类似的input呢?
谢谢各位了.

解决方案 »

  1.   


    <input type="text" name="cCode" value="所有的值" /> 
    <script type="text/javascript">
    <!--
    alert(document.getElementsByName("cCode")[0].value); // 没有ID有NAME不是.
    //-->
    </script>
      

  2.   

    /<input type=.*\s/>/ig
      

  3.   

    try...<textarea id="content" rows="10" cols="100"></textarea>  
    <br /><br />
    <input type="submit" style="width:70px; height:25px;" name="optButton" value="处理" onclick="opt();"> 
    <br /><br />
    <textarea id="result" rows="10" cols="100"></textarea> 
    <br />
    <script type="text/javascript">
    function opt()
    {
        var str = document.getElementById("content").value;
        var reg = /<input(?![^>]*id)[^>]*>/ig;
        while ((rs = reg.exec(str)) != null)
        {
            document.getElementById("result").value += rs + "\n";
        }
    }
    </script>
      

  4.   

    IE下,没设ID,会默认为ID为NAME的值的
      

  5.   

    js水平太洼,MS上面那样做效率有点低<textarea id="content" rows="10" cols="100"></textarea>  
    <br /><br />
    <input type="submit" style="width:70px; height:25px;" name="optButton" value="处理" onclick="opt();"> 
    <br /><br />
    <textarea id="result" rows="10" cols="100"></textarea> 
    <br />
    <script type="text/javascript">
    function opt()
    {
        var str = document.getElementById("content").value;
        var reg = /<input(?![^>]*id)[^>]*>/ig;
        var arr = str.match(reg);
        if(arr != null)
        {
            for(var i=0;i<arr.length;i++)
            {
                document.getElementById("result").value += arr[i] + "\n";
            }
        }
    }
    </script>
      

  6.   

    function noIdInputs(){
    var ret = [], inputs = document.getElementsByTagName('input');
    for (var i = 0; i < inputs.length; i++) {
    if (!inputs[i].id) ret.push(inputs[i]);
    }
    return ret;
    }
      

  7.   

    为什么要找出这些呢?因为在ie6,ie7下,如果没有id属性.document.getElementById('code')也不会报错,会把name属性绑定给了id的.
    但是在ie8和firefox中就会报错的.现在有n多个页面.总不能一个个页面的一个个input找吧?所以想找到这些只有name 而没有id的input.
    我大概思路是,以"<input "开头,以"/>"结尾的字符串中,并且存在"name=" 而不存在"id=" 的.就是不知道怎么写.
    谢谢各位了!!
      

  8.   

    function getElementById(id){
    var node = document.getElementById(id);
    return node ? node.getAttributeNode('id') ? node : null : null;
    }
      

  9.   


    5楼的不满足要求?哪里不满足要求,给个反馈
    是要同时满足没有id,但是要有name?<textarea id="content" rows="10" cols="100"></textarea>  
    <br /><br />
    <input type="submit" style="width:70px; height:25px;" name="optButton" value="处理" onclick="opt();"> 
    <br /><br />
    <textarea id="result" rows="10" cols="100"></textarea> 
    <br />
    <script type="text/javascript">
    function opt()
    {
        var str = document.getElementById("content").value;
        var reg = /<input(?![^>]*id=)(?=[^>]*name=)[^>]*>/ig;
        var arr = str.match(reg);
        if(arr != null)
        {
            for(var i=0;i<arr.length;i++)
            {
                document.getElementById("result").value += arr[i] + "\n";
            }
        }
    }
    </script>
      

  10.   

    function getElementById(id){
        var node = document.getElementById(id);
        return node ? node.getAttributeNode('id') ? node : null : null;
    }
      

  11.   


    我的意思是搜索出来.比如在eclipse中按Ctrl+H.搜索出所有文件中的所有满足要求的地方.
      

  12.   


    搜索?什么环境中执行搜索,IDE中还是自己开发的软件中
      

  13.   

    <input\s+.*(?<!((id)|(name)).*)>CC
      

  14.   

    顶过客
    在过客嘴里抢点分在   Eclipse   中使用   Fine/Replace   的   Regular   expressions   功能: <input(?![^>]*id=)(?=[^>]*name=).*?name=(['"]?[^'"\s]+['"]?))替换成$1 id=$2不过这里的正则是C#的语法 如果需要的话楼主自己改成Java的
      

  15.   


    (<input(?![^>]*id=)(?=[^>]*name=).*?name=(['"]?[^'"\s]+['"]?))  //上一个少了个左括号