博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

IE 与一条正则表达式的微妙差别

Posted on 2010-05-14 14:07  峰雪  阅读(289)  评论(0编辑  收藏  举报

正好刚刚在写一段程序,用到了正则表达式,满以为以下代码没有问题,可偏偏IE报了错。

1 //正则手机电话
2 function isTelephone(obj)
3 {
4 reg=/^1([358]{1})\d{9}$/;
5 if(!reg.test(obj))
6 { return false; }
7 }
在运行这段代码时,IE会对第4行报错。但火狐,opear等浏览器正常,这让我感觉到很奇怪。

后来将第4行改动一下,对reg进行显示声明,之后,IE也乖了,可以了。

但是其他未经声明的变量,IE也不会在乎,为什么正则表达式,就在乎了呢?