相关疑难解决方法(0)

正则表达式 - 查找具有name属性但不是id的元素

这个问题今天来到我身边.我正在使用包含大量JSP的基于Web的(Struts 2)项目,并且大多数input, select, tablea元素仅使用name属性定义,没有id设置,例如:

<input name="myname" class="myclass" value="" type="text"/>

到目前为止一切都那么好,除了不幸的是这些字段有很多javascript验证,并且我可以在离开大多数代码之前阅读代码实际上引用了元素document.getElementById.

这里的问题是,这是一个旧的应用程序(实际上不是那么老)只与IE-6和IE-7兼容(我没有搜索网络,以了解IE实际上似乎只找到了元素与name属性,但我想它必须做点什么).每个其他单一浏览器都抱怨和哭泣并不奇怪.

所以,我正在尝试提出一个简单的解决方案:查找所有使用该属性定义input, select, tablea元素的JSP,name但不是id为了修复HTML.

使用我的好朋友http://rubular.com我想出了以下内容:

/<(?:(input|select|a|table))\s+((?!id).)*>

这将捕获每个被引用的元素id.但是,我怎么能断言只有那些name匹配的?

哦,另一个重点.元素的定义是一行的,所以最有可能的是:

<input name="..."
       class="..."/>
Run Code Online (Sandbox Code Playgroud)

html regex tags validation

3
推荐指数
1
解决办法
3636
查看次数

标签 统计

html ×1

regex ×1

tags ×1

validation ×1