涉及正则--谈谈工作遇到的问题

工作中要取一个值,如下

XML/HTML代码
  1. <div id="aide">245张</div>  

这个值未知,已经确认会存在 空格/下划线/字母/中文等.不管那种情况,只取其中的数字..

于是个人想到:

JavaScript代码
  1. <script type="text/javascript">   
  2. var ad = document.getElementById("aide").innerHTML;   
  3. var a = ad.replace(/张/,"");   
  4. alert(a);   
  5. </script>  

但这样并没完全达到意外情况下的要求,只取值数字.虽然知道正则能够得到匹配的值,但除了懂得 [0-9] 是数字字符外,其它的一无所知.

搜索后得到 [^0-9] 是非数字字符.于是测试.

JavaScript代码
  1. <script type="text/javascript">   
  2. var ad = document.getElementById("aide").innerHTML;   
  3. var b = ad.replace(/[^0-9]/,"");   
  4. alert(b);   
  5. </script>  

在这个过程中顺便问了下群里的同仁,得到 [^\d]/g ,搜索之, 原来 \d 匹配一个数字字符,等价于[0-9]。 而^\d 匹配一个非数字字符。等价于[^0-9]。

在这个过程中一直不明白 /g 是干什么用的.也顺便问下给我这个的那位仁兄,或者知道其意思的,请回下,在下 测试的过程中去掉也不觉得有什么错.

如此:

JavaScript代码
  1. <script type="text/javascript">   
  2. var ad = document.getElementById("aide").innerHTML;   
  3. var c = ad.replace(/[^\d]/,"");   
  4. alert(c);   
  5. </script>  

最后,补上一个搜索到的 正则列表. 表放在例子里.

详情请点击 demo

 

Tags: 正则, web标准

« 上一篇 | 下一篇 »

发表评论

注:网址请加上 http:// 若无,报错...

评论内容 (必填):