js去除空格函数
var str=" 薛 定 谔 的 猫 "; 去除所有空格: str=str.replace(/\s+/g,""); alert(str);-->"薛定谔的猫" 去除两头空格: str = str.replace(/^\s+|\s+$/g,""); alert(str);-->"薛 定 谔 的 猫" 去除左空格: str=str.replace( /^\s*/, ''); alert(str);-->"薛 定 谔 的 猫 " 去除右空格: str=str.replace(/(\s*$)/g, ""); alert(str);-->" 薛 定 谔 的 猫"js去除重复元素
字符串去重 var str = "qwertyuioiuytrewq"; str = str.replace(/(.)(?=.*\1)/g,""); alert(str);-->"oiuytrewq" 数组去重 var arr = new Array("中国","中国","中国","美国","美国","日本", "韩国","英国","德国","德国"); alert(arr.reverse().join(",").match(/([^,]+)(?!.*\1)/ig).reverse());-->"中国,美国,日本,韩国,英国,德国"参考:http://www.cnblogs.com/forver/p/4312131.html 说明: 1、var reg =/(.)(?=.*\1)/g; 2、.匹配任意字符,但只能匹配任意字符中的一个; 3、(.)加上()就是将匹配的该字符存储起来供以后引用; 4、(?=)预搜索(也有叫断言的,也有叫预查的),指明某个字符的右侧是什么,但不包含这部分,只取这个‘某个字符’,如:p(?=ing)匹配字符串ping时匹配成功,但匹配到的字符是p不是ping; 5、(?=.*\1) 这个\1就是指的前面(.)的这个字符,之前说它被加上小括号就是被存储起来了,现在\1就是取存储的第一个(共一个): *匹配次数,也有人称之为量词,指出现任意次 .*指出现任意次任意字符 6、(.)(?=.*\1)指第一个匹配字符,如果右侧出现的内容中包含该字符时就匹配上该字符; 7、 g指globle,全局匹配模式,匹配所有字符串; 8、这个去重的结果其实是倒着来排序的,就是说重复字符出现在前面的都被置空了,是按一个字符从后往前出现的顺序排的。
