在html里面添加正则表达式

html-css09

在html里面添加正则表达式,第1张

<script language="javascript">

function check(v)

{

if(v.match(/^\d+$/)) return true

else {

alert("输入必须全是数字")

return false

}

}

</script>

<form>

<input type="text" name="txt" />

<input type="submit" onclick="return check(this.form.txt.value)" />

</form>

Pattern

pattern

=

Pattern.compile("\\<div.*\\>.*\\<\\/div\\>")

Matcher

matcher=pattern.matcher(htmlStr)

//你的页面源码

StringBuffer

res

=

new

StringBuffer()

while(matcher.find())

{

int

i=0

String

data=matcher.group(i)

//这里取出的是所有的div内容,每个用逗号隔开

//如果你不需要div标签,只要内容

//data=data.substring(data.indexOf(">")+1,data.lastIndexOf("<"))

res.append(data+",")

i++

}

System.out.println(res.substring(0,

res.length()-1).toString())

手写

已测

谢谢

请采纳

你不是要直接操作HTML字串吧? 如果直接操作字串的话,可以用正则处理,最简单的一种就是把字串里的所有HTML标签去掉就行了,剩下的就是“内容一内容二”了:

<html>

  <head>

    <script language="javascript">

      function Window_Load(){

        var str = '<td align="center"><ul class="ul1"><li>内容一</li><li>内容二</li></ul></td>'

        var reg = /<[^>]+>/g

        alert(str.replace(reg,"")) //返回: "内容一内容二"

      }

    </script>

  </head>

  <body onload="Window_Load()"> 

  </body>

</html>

如果每个LI的内容都要单独提取出来做其他处理,可以用下面这种方式:

<html>

  <head>

    <script language="javascript">

      function Window_Load(){

        var str = '<td align="center"><ul class="ul1"><li>内容一</li><li>内容二</li></ul></td>'

        var reg = /<(li)[^>]*>([^<]+)<\/\1\s*>/g

        

        var contents = []

        while(reg.exec(str)){

          //获得单独li下的内容,可以对这个字串做其他处理,然后再放入数组

          var content = RegExp.$2

          contents .push(content )

        }

        alert(contents .join(""))

      }

    </script>

  </head>

  <body onload="Window_Load()"> 

  </body>

</html>