Javascript中正则表达式的运用

        Javascript中运用正则表达式可以处理复杂字符串,提高效率.

        如要处理一个字符串:"fierfheriuhfi2008-09-05T00:00:00+08:00jfioerjfoeri".现在要将其中的"T00:00:00+08:00"去掉.通常可以直接用replace("T00:00:00+08:00","")来处理.但是当时间是变动时显然不能这样处理.对于这种复杂变化,但是实在一定规则范围内变化的字符串就可以用上正则表达式了.像上面的字符串可以表示为"/(T)(/d{2}:/d{2}:/d{2}[+]/d{2}:/d{2})".这个看似乱码的东西可以表述该格式的字符串了,然后用replace(/(T)(/d{2}:/d{2}:/d{2}[+]/d{2}:/d{2})/g,   "");就可以了./g表示替换字符串中所有符合的字串.很好很强大,呵呵

        还有一个很强大的用法.       

  1. $("pagecontent").innerHTML =     ((function(){/*<table id="spage" style="height:100%; width:100%; padding:0px" border="0" cellpadding="0" cellspacing="0" >
  2.     <tr style="height:30;padding:0px"><td style="height: 25px" >
  3.         我来打酱油的
  4.      </td></tr>
  5.      <tr ><td align="center" valign="top">
  6.         苦练叉腰肌
  7.     </td></tr>
  8.     <tr style="height:100px"></tr>
  9.     </table>*/}).toString().replace(/^.+?/*|//(?=//)|/*.+?$/gi, ""));

        实际运行下,注释部分变成了html输出了.用上这个以后就不用再一个个加号连接了.写好html然后用注释.再套这个就可以输出了.

 

附:一点小资料

匹配首尾空格的正则表达式:(^/s*)|(/s*$)

javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
String.prototype.trim = function()
{
return this.replace(/(^/s*)|(/s*$)/g, "");
}

^/d+$ //匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$ //匹配正整数
^((-/d+)|(0+))$ //匹配非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$ //匹配负整数
^-?/d+$ //匹配整数
^/d+(/./d+)?$ //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
^((-/d+(/./d+)?)|(0+(/.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数
^(-?/d+)(/./d+)?$ //匹配浮点数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^/w+$ //匹配由数字、26个英文字母或者下划线组成的字符串

^[a-zA-z]+://匹配(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$ //匹配url

/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* //匹配Email地址的正则表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值