用js实现的替换除数字与逗号以外的所有字符的代码,因为需要去除重复,这样的话就会有很多的逗号需要替换

用js替换除数字与逗号以外的所有字符


<script language="javascript"> 
var str="asdfk,asdf345345,345345";
//替换除数字与逗号以外的所有字符。
str=str.replace(/[^0-9,]*/g,"");
//去掉第一个逗号
if (str.substr(0,1)==',') str=str.substr(1);
//去掉第二个逗号
var reg=/,$/gi;
str=str.replace(reg,"");
alert(str);
</script>

结果:


345345,345345


完整代码:


FCKinsertdown.Add = function(strtemp,str) {
if(strtemp.indexOf(",")>-1){
strtemp=dostr(strtemp);
var strs= new Array(); //定义一数组
strs=strtemp.split(","); //字符分割
for (i=0;i<strs.length ;i++ ) {
if(i==strs.length){
FCK.InsertHtml("[downsoft]"+trim(strs[i])+"[/downsoft]") ;
}else{
 FCK.InsertHtml("[downsoft]"+trim(strs[i])+"[/downsoft]<br />") ;
 }
 }
 }else{
FCK.InsertHtml("[downsoft]"+dostr(strtemp)+"[/downsoft]") ;
}
}

function dostr(str){
str=trim(str);
var strarry=unique(str.split(","));
str=strarry.join(",");
str=str.replace(/,/ig,",");
str=str.replace(/[^0-9,]*/ig,"");
str=str.replace(new RegExp(',+',"gm"),',');
if (str.substr(0,1)==',') str=str.substr(1);
var reg=/,$/gi;
str=str.replace(reg,"");
return str;
}

//去重复数组
function unique(data){
  data = data || [];
  var a = {};
len = data.length;
  for (var i=0; i<len;i++){
 var v = data[i];
  if (typeof(a[v]) == 'undefined'){
a[v] = 1;
}
  };
  data.length=0;
  for (var i in a){
data[data.length] = i;
}
  return data;
}
//供使用者调用
function trim(s){
return trimRight(trimLeft(s));
}
//去掉左边的空白
function trimLeft(s){
if(s == null) {
return "";
}
var whitespace = new String(" tnr");
var str = new String(s);
if (whitespace.indexOf(str.charAt(0)) != -1) {
var j=0, i = str.length;
while (j < i && whitespace.indexOf(str.charAt(j)) != -1){
j++;
}
str = str.substring(j, i);
}
return str;
}
//去掉右边的空白
function trimRight(s){
if(s == null) return "";
var whitespace = new String(" tnr");
var str = new String(s);
if (whitespace.indexOf(str.charAt(str.length-1)) != -1){
var i = str.length - 1;
while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){
i--;
}
str = str.substring(0, i+1);
}
return str;
}


爱安网原创文章,转载请注明出处。

最新资讯
特斯拉已在60个Electrify America充电站

特斯拉已在60个Electr

据国外媒体报道,电动汽车制造商特斯拉已在约60个Electr
nVIDIA收购案会给业界带来些什么?

nVIDIA收购案会给业界

日前,nVIDIA收购ARM终于传出确定消息。关于nVIDIA收购
3DS游戏机停产了 任天堂要把更多经营资源留给Switch

3DS游戏机停产了 任天

近日,任天堂在其官方网站上发布消息称,旗下3DS系列游戏
新晋“巨无霸”来了,LG化学欲将电池业务分拆独立

新晋“巨无霸”来了,LG

LG化学表示,其电池业务今年预计实现13万亿韩元收入,拆分
波音737 MAX空难报告发布 揭美航空监管存严重问题

波音737 MAX空难报告

美国国会众议院发布了关于波音737 MAX系列飞机两起空
京东健康聘请美银和瑞银安排10亿美元香港IPO

京东健康聘请美银和瑞

据知情人士透露,京东健康已经为赴港上市计划聘请了银行
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,