js判断text中有没有下划线,同时判断出下划线的长度

js判断text中有没有下划线,同时判断出下划线的长度,同时创建出一个input控件的长度和下划线的长度相同

直接上代码

 <html>
<head>
<script type="text/javascript">
function change()
{
    var text = document.getElementById('text').innerHTML;
    var pattern = /_+/g;
    while(pattern.test(text))
    {
        var leftText = RegExp.leftContext;
        var rightText = RegExp.rightContext;
        var startPosition = leftText.length;
        var endPosition = text.indexOf(rightText);
        //alert(startPosition);
        //alert(endPosition);
        //alert(endPosition-startPosition);
        var size = endPosition-startPosition;
        //alert(size);
        text = leftText + '<input type="text" size="'+size+'">' + rightText;
        //alert(text);
    }

    document.getElementById('text').innerHTML = text;
}

</script>
</head>
<body onload="startTime()">
<div id="text">
Java填空题<br>
1.Java是目前最广泛的_(1个下划线)编程语言之一。<br>  
2.Java具有简单、__(2个下划线)、稳定、与平台无关、解释型、多线程、动态等特点。<br>
3.JDK开发java程序需三个步骤,分别为___(3个下划线),编译java源程序,运行java源程序。<br>
4.Java具有简单、面向对象、稳定、与平台无关、解释型、_____(4个下划线)、动态等特点。<br>  
5.编写Java程序,可以使用一个______(5个下划线)来编写源文件。<br>
6.把编写好的Java源文件保存起来,原文件的扩展名必须是_______(6个下划线)。<br>
7.用JDK编译Java源程序,使用的命令是________(7个下划线),编译源文件得到字节码文件。<br>  
</div>
<input type="button" value="生成input控件" onclick='change();'>
</body>
</html>
 function strlength(){
    var str="ssss_dds___";
    var a=str.length;
    str.replaceAll("_", "");
    var b=str.length;
    alert(a-b);
}

contain("_");