JS怎么去除多余的逗号 例如:一串字符串 111,222,,,333,444,, 处理之后返回 111,222,333,444

数值之间留一个逗号(,) 数字头尾不留逗号
谢谢啦

第1个回答  2012-05-29
用正则提取数字不就行了?
var str="111,222,,,333,444,, ";
str=str.match(/\d+/g).join(",");
alert(str);追问

你的方法也行 而且更好啊 谢谢啦 学习了

第2个回答  2012-05-29
function format(str){
while(str.indexOf(',,') != -1){
str = str.replace(',,',',');
}
if(str.lastIndexOf(',') == str.length - 1){
str = str.substr(0,str.length-1);
}
return str;
}

效率挺低。。。追问

只要是碰到两个连着的逗号就换成1个 反复的循环 虽然没试过但是能感觉到不效率呵呵
不过谢谢 你回答

追答

不会正则就是悲剧...

追问

恩 学习正则中。。。

第3个回答  2012-05-29
var re = /,{1,}/g;
var str = '111,222,,,333,444,, ';
str = str.replace(re,',');
alert(str);追问

可以啦 但是最后面的逗号还在
/,{1,}/g;这句 后面的g是全部的意思 就是那个1是什么意思? 正则不太懂 请教了

追答

{1,}是匹配1次或者多次

var re = /,{1,}/g;
var str = '111,222,,,333,444,,';
str = str.replace(re,',');
str = str.replace(/,$/,"");
alert('"'+str+'"');

本回答被提问者采纳

...111,222,,,333,444,, 处理之后返回 111,222,333,444
用正则提取数字不就行了?var str="111,222,,,333,444,, ";str=str.match(\/\\d+\/g).join(",");alert(str);

...111,222,,,333,444,,处理之后返回 111,222,333,44
str="111,222,,,333,,444,,,666";sttr=str_replace(',,,',','$str);sttr=str_replace(',,,',','$str);

相似回答