正则表达式帮助文档以及一些特殊的正则例子
删除除了<img>、<br>、<p>之外所有的标签。子虚乌有给出代码中关键的一句: o.innerHTML.replace(/(<\/?(?!br|p|img)[^>\/]*)\/?>/gi,''); 刚开始没反应过来,后来才想起来,这个正则不用区分起始和结束标签。 <\/?(?!br|p|img) 匹配除了保护标签外标签的
要求禁止输入某几个单词,如果拒绝red,yellow,white。这个帖子到时不难,但是让我弄清楚了好几个概念。 第一个,小心字符集合里的“或” /[^red|yellow|white]/ 这个正则里的所有或都没有意义,等同于: /[^redyellowwhite]/ 意思就是不能含有以下列出的所有字母。 正解: /red|yellow|white/ 第二个概念: 只要
<td style="width: 23px; height: 26px;" align="left">***</td> 变成没有任何属性的 <td>***</td> 思路:非捕获匹配属性,捕获匹配标签,使用捕获结果替换掉字符串。正则如下: /(<td)\s(?:\s*\w*?\s*=\s*".+?")*?\s*?(>)/
给HTML标签中的属性添加双引号。 <a href=xxx>改为:<a href="xxx"> LeXRus的第一个正则如下: /(?!\<\w+)(\s+\w+)\=([^>\"\s]+)/ig 第一个括号没看明白,JS应该是不支持。所以我擅自给删掉了,剩下的正则如下: /(\s+\w+)\=([^>\"\s]+)/ig 第一个括号里
将代码中的HTML标签img转换为[img]url[/img]。 /<img(?:\s*\w*?\s*=\s*".+?")*?\s*src\s*=\s*"(.+?)"(?:\s*\w*?\s*=\s*".+?")*\s*>/ig 这段正则和匹配链接标签的正则基本一样,修改如下,标签名img,没有结束标签而是>结束。 测试代码如下: <script type="
原代码:[title]标题一[/title]内容一232323sdfga [title]标题二[/title]内容二2232323 [title]标题三[/title]内容三2232323 要把文本分段成如下格式:一、[title]标题一[/title]内容一232323sdfga二、[title]标题二[/title]内容二2232323三、[title]标题三[/title]内容三2232
在一段代码中去除<script ...... /script>, <head>...</head>,<%.....%>等代码块 隆的正则: /<(script|meta|%)[\s\S]*?\/(script|meta|%)>/ 试了一下,匹配如下文本正常: <script type="text/javascript"&
将一个用户输入的一段文字中的url替换成可以点击的link地址。例如:http://www.blueidea.com可以替换成 [url]http://www.cctv.com[/url] 或<a href="http://www.cctv.com">http://www. blueidea.com</a>. 这个正则的关键就在于匹配链接,匹配之后,在两边加上a标签
将123替换成壹贰叁。 只要匹配一个数字就可以了,测试代码如下(如果显示为乱码就调整一下浏览器的字符编码): function replaceReg(reg,str){ return str.replace(reg,function(m){return arr[m];}) } arr=new Array("零","壹","贰","叁","肆","伍","陆","柒","捌
有如下代码: <td align="center"><img src="../photo/ccg/thumbnails/O'Malley's West_jpg.gif" border="0" onClick="MM_openBrWindow('../photo/ccg/pages/O'Malley's West_jpg.htm','BE','width=386,height=
有一个数组: var _A = ['A','B','C','D']; 有一个有“变量”的字符串。 var _B = '<ul><li>$0$</li><li>$1$</li><li>$2$</li><li>$3$</li></ul>'; 说是变量,其实只是字符串中的特
有如下电话号码: 1358888833313658447322135588853541358777465413854554786 要求,要求只匹配135开头的电话,但是匹配结果只保留135后面的数字。 由于JavaScript里的正则不支持(?=xx)xxx的模式,只支持xxx(?=xx)的模式。所以只能将135后面的内容作为一个子正则表达式匹配的内容,然后再在后面引用。 Carl给
匹配英文以及空格,要求必须既有英文字母又有空格。 这个思路和上面的差不多,只要把数字改成空格就可以了。正则如下: /^(([a-z]+\s+)|(\s+[a-z]+))[a-z\s]*$/i 英文开头加空格,或者是空格开头加英文,后面可以是英文或者空格。测试代码如下: <script type="text/javascript"> function istrue(st
不能小于12位,且必须为字母和数字的混合。 验证字符串包含数字简单,验证字符串包含字母也简单,验证字符串不包含其它字符也简单,可以用这三个正则分别检查一次字符串,逻辑运算出最终结果。 但是怎么能把这些功能写进一个正则表达式里呢?这个问题真有点伤脑筋。 下面是lexrus的正则: /^([a-z]+(?=[0-9])|[0-9]+(?=[a-z]))[a-z0-9]+$/ig 思路
有如下代码: <channel> <title>蓝色理想</title> </channel> <item> <title>界面设计测试规范</title> </item> <item> <title>《古典写实美女》漫画教程<
例如:<img xxx=”xxx” 就是没有闭合的标签; <p>p的内容,同样也是没闭合的标签。 从简单的正则开始,先匹配起始标签 /<[a-z]+/i 再加上若干属性: /<[a-z]+(\s*\w*?\s*=\s*".+?")*/i 下面就到关键点了,标签的闭合。标签可能有两种方式闭合,<img xxx=”xxx” /> 或者是
代码:<a href="#>这里要保存</a>,只保存链接的文本内容,标签信息删掉。 前面写过一个匹配链接的正则: /<a\s(\s*\w*?=".+?")*(\s*href=".+?")(\s*\w*?=".+?")*\s*>[\s\S]*?<\/a>/ 不过我们需要捕获的是文字内容,所以需要做一定的修改。第一步就是在所有的括号内都加上?
能够匹配HTML代码中链接的正则。 原帖正则:/<a href=".+?">.+?<\/a>/g 感觉有点严格,首先要<a href="".+?">有,而且href属性可以是一个或者多个除换行外任意字符(非贪婪)。后面是.+?<\/a>,一个或者多个除换行外任意字符(非贪婪),再加上结束标签。 有个问题,如果a的起始标签最后有空格,或者除
fuchangxi的正则: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/ 开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。 <script type="text/javascript"> function isE
www.abc.com/dc/fda.asp变为www.abc.com/dc/fda 如果文件后缀已知的话这个问题就非常简单了,正则如下: /\.asp$/ 匹配最后的.asp而已,测试代码如下: <script type="text/javascript"> function delAspExtension(str){ var reg = /\.asp$/;
yyyy-mm-dd格式 正则如下: /^\d{4}-\d{1,2}-\d{1,2}$/ 4位数字,横线,1或者2位数字,再横线,最后又是1或者2位数字。 测试代码如下: <script type="text/javascript"> function testReg(reg,str){ return reg.test(str); } var
每单词首字大写,其他小写。如blue idea转换为Blue Idea,BLUE IDEA也转换为Blue Idea cloeft的正则: /\b(\w)|\s(\w)/g 所谓“首字母”包括两种情况:第一种是边界(开头)的单词字符,一种是空格之后的新单词的第一个字母。测试代码如下: <script type="text/javascript"> function r
匹配至少两行的字符串,每行都为非空字符。 只要匹配到[\n\r]就表示有换行了,再保证换行的两段都不是空字符就可以了。正则如下: /\S+?[\n\r]\S+?/i 这个正则的应用应该是用在textarea里,如果是如下要求:可以支持所有字符,中间可带空格,可以包括英文、数字、中文、标点 这样的话,只要针对空格再改一下就行了。(按照非空的要求,上面有不能匹配“字符+空格+换行+字符”
价格的格式应该如下: 开头数字若干位,可能有一个小数点,小数点后面可以有两位数字。hansir给出的对应正则如下: /^(\d*\.\d{0,2}|\d+).*$/ hansir给出的测试代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1
规则如下:包含 "点", "字母","空格","逗号","数字",但开头和结尾不能是除字母外任何字符。 [\.a-zA-Z\s,0-9]这个字符集就实现了字母,空格,逗号和数字。最终正则如下: /^[a-zA-Z][\.a-zA-Z\s,0-9]*?[a-zA-Z]+$/ 开头必须有字母,结束也必须是一个以上字母。测试代码如下: <script type="text/javasc
用于用户名注册,,用户名只 能用 中文、英文、数字、下划线、4-16个字符。 hansir和解决方案弄成正则: /^[\u4E00-\u9FA5\uf900-\ufa2d\w]{4,16}$/ 中文字符或者单词字符,4到16个。实现4到16结成到正则里的关键就是开始^和结束$,这就等于整个字符串只能有这些匹配的内容,不能有多余的。 函数和测试代码如下: <script typ
将<IMG height="120" width="800" src="http://23.123.22.12/p_w_picpath/somepic.gif">转换为:<IMG height="120" width="800" src="/p_w_picpath/somepic.gif">。 其中网址可能改变,例如http://localhost等等。 cloud
c:\p_w_picpaths\tupian\006.jpg 可能是直接在盘符根目录下,也可能在好几层目录下,要求替换到只剩文件名。 xlez的正则如下: /[^\\\/]*[\\\/]+/g 首先匹配非左右斜线字符0或多个,然后是左右斜线一个或者多个。形如“xxx/”或者“xxx\”或者“/”或者“\” 函数以及测试代码: <script type="text/java
<ul>safsf<ul>safsf</ul><ul>safsf</ul></ul> 用正则可以得到 <ul>起到下个<ul> 之间的内容。 正则如下: /<ul>[\s\S]+?<ul>/i 首先匹配两侧的ul标签,中间的[\s\S]+?可
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号