【原创】FireFox 下出现 “invalid range in character class ”错误的解决方法
Posted on 2007-11-09 17:29 ∈鱼杆 阅读(2398) 评论(7) 编辑 收藏 举报
我遇到这个错误是在正则表达式的情况下。正则表达式列举如下:
var regCheck =/[\d-*-\u8f6c]{1,15}/;
因为这段表达式,在调用函数时就出现上面的错误。最后查找到的结果就是更改成如下表达式就可以
var regCheck =/[\d(-)*-\u8f6c]{1,15}/;
分析一下原因,问题出现在“*”这个统配符中,在正则中“*”表示匹配零次或多次,第一个表达式在IE下是没问题的,可FireFox下解释这个表达
式就会出现问题,我想可能FireFox把他解释成一个变量,而不是正则中的一个特殊符合。加上“()”就表示匹配括号中的表达式零到多次。
var regCheck =/[\d-*-\u8f6c]{1,15}/;
因为这段表达式,在调用函数时就出现上面的错误。最后查找到的结果就是更改成如下表达式就可以
var regCheck =/[\d(-)*-\u8f6c]{1,15}/;
分析一下原因,问题出现在“*”这个统配符中,在正则中“*”表示匹配零次或多次,第一个表达式在IE下是没问题的,可FireFox下解释这个表达
式就会出现问题,我想可能FireFox把他解释成一个变量,而不是正则中的一个特殊符合。加上“()”就表示匹配括号中的表达式零到多次。
--=阅读快乐=--
欢迎访问我的新鱼塘 www.pumaboyd.com