js字符串去重复id的实现代码

最近由于需要我们将相关id的重复的去掉,一个是客户端一个后台程序把关,这里分享下js的去重复id的实现代码
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>js去重复id</title> </head> <body> <script type="text/javascript"> String.prototype.repeatOpt = function () { var str = this + "",objStr = ""; for (var i = 0; i < this.length; i++) { var s = str[i]; var newStr = str.replace(s, ''); var j = newStr.indexOf(s); if (j == -1) { objStr += s+","; } } return objStr; } alert("1,2,2,3,4,4,5,6".repeatOpt()); </script> </body> </html>
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

我经常用的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>js去除重复id</title> <script type="text/javascript"> function $Obj(objname){ return document.getElementById(objname); } //供使用者调用 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; } function doxgid() { document.form1.likeid.value = trim(document.form1.likeid.value.replace(new RegExp(',',"gm"),',')); document.form1.likeid.value = trim(document.form1.likeid.value.replace(new RegExp(' ',"gm"),',')); xgidcheck(); } function xgidcheck(){ if(document.form1.likeid.value!=""){ var arr1 = unique(document.form1.likeid.value.split(",")); document.form1.likeid.value=arr1.join(","); } } //去重复数组 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 doxgid2(theitem) { var theform=$Obj(theitem); theform.value = trim(theform.value.replace(new RegExp(',',"gm"),',')); theform.value = trim(theform.value.replace(new RegExp(' ',"gm"),',')); xgidcheck2(theform); } function xgidcheck2(theform){ if(theform.value!=""){ var arr1 = unique(theform.value.split(",")); theform.value=arr1.join(","); } } </script> </head> <body> <form name="form1"> 实例一: 单独的一个表单验证 <input name="likeid" type="text" id="likeid" size="60" onBlur="doxgid()" value="1,2,3,4,5,6,4,5,6"> 实例二:多个表单验证 <textarea name="jb51id" rows="3" id="jb51id" style="width:90%" onBlur="doxgid2('jb51id')">1,2,3,4,5,6,4,5,6</textarea> 先将鼠标定位在表单里面,然后离开就可以触发了。 onBlur </form> </body> </html>
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

时间: 2024-12-02 19:53:24

js字符串去重复id的实现代码的相关文章

js检查页面上有无重复id的实现代码

有时候我们需要检查一个页面上是否用重复的id,一般id都是唯一的,也方便控制,那么就可以参考下面的代码   方法一: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD>   <TITLE> New Document </TITLE>   <script type="text/javascr

js检查页面上有无重复id的实现代码_javascript技巧

方法一: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD>  <TITLE> New Document </TITLE>  <script type="text/javascript">    window.onload = function(){        var ta

javascript数字数组去重复项的实现代码_javascript技巧

test.htm 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-

Js字符串与数组互相转换实例代码

方法说明: 1.join()方法:用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的. 指定分隔符方法join("$");其中$可以是任意字符 2.split()方法:用于把一个字符串分割成字符串数组. stringObject.split(a,b)这是它的语法 其中a是必填项,以a为分隔符开始分割整个字符串:b不是不填项,可选.该参数可指定返回的数组的最大长度 .如果设置了该参数,返回的子串不会多于这个参数指定的数组.如果没有设置该参数,整个字符串都会被分割,不考

javascript 数组去重复(在线去重工具)_javascript技巧

在线文本去重复工具 第一种方法: <textarea id="list" class="toolarea"> www.jb51.net www.baidu.com www.jb51.net shouce.jb51.net www.jb51.net tools.jb51.net www.baidu.com shouce.jb51.net tools.jb51.net www.jb51.net</textarea> <input type=

JS删除字符串中重复字符方法

 这篇文章主要介绍了JS如何删除字符串中重复字符,需要的朋友可以参考下  代码如下: <!DOCTYPE html>  <html>  <head>  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">  </script>  <script>  $(document).ready(function(){  $(&quo

JS使用正则表达式除去字符串中重复字符的方法_javascript技巧

本文实例讲述了JS使用正则表达式除去字符串中重复字符的方法.分享给大家供大家参考,具体如下: 这里演示一个简单的JavaScript正则表达式实例,将一串含有重复字符串中的多余字符滤除掉,请运行查看效果. 具体代码如下: <html> <head> <title>利用正则表达法除去字符串中的重复字符</title> </head> <body> <script language="javascript">

JS数组去掉重复数据只保留一条的实现代码_javascript技巧

非常不多说,js数组去掉重复数据的代码如下所示: var arr = [1,2,3,4,5,6,1,6,7,2]; var newArr = []; for(var i =0;i<arr.length-1;i++){ if(newArr.indexOf(arr[i]) == -1){ newArr.push(arr[i]); } } 下面再给大家分享高效率去掉js数组中重复项 Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: function unique(ar

js字符串连接代码与注意事项及效率

function xntest(){ var d1=new date(); var str=""; for(var i=0;i<10000;i++){ str+="stext"; } var d2=new date(); document.write(" 字符串拼接方式耗时:"+(d2.gettime()- d1.gettime())+"毫秒:"); d1=new date(); var sb=new array();