注册 登录
编程论坛 JavaScript论坛

为什么split 使用正则表达式后,返回值不正常?

dxhshitc 发布于 2011-06-30 16:53, 730 次点击
代码如下:
var rule =/[/(/)+*-//]/g;
var strings = text.split(rule);
alert(strings);


假如我的text为123++23时,它显示的值为123,23.

按道理说应该显示为123,,23.  为什么会这个样子。我在两个项目上测试了一个显示正常结果,另一个却不可以。
4 回复
#2
dxhshitc2011-06-30 21:14
问题已经解决了,如果有人和我一样的问题的话可以留言。。。
#3
gulimeksoft2011-07-01 17:08
text为123++23时,它显示的值为123,23.
text为123+ +23时,它显示的值为123,,23.
text为123+++++++23时,它显示的值为123,23.
有什么可争议的
#4
dxhshitc2011-07-06 00:40
回复 3楼 gulimeksoft
我在测试页面上测试的时候,123++123运行后会变成123,,,123。
而在正式的项目中却是123,123. 而我需要的结果是前一种
#5
gulimeksoft2011-07-11 15:15
你需要前一种的话只有通过拼凑字符串自己来解决
给种方法:
var rule =/[/(/)+*-//]/ig;
    var strings = "123++23".replace(rule,", ").split(",").trim();
    alert(strings);
Array.prototype.trim = function() {
    for(var i=0;i<this.length;i++){
        this[i]=this[i].replace(/(^[\s]*)|([\s]*$)/g, "");
    }
    return this;
}
1