js字符串查重表达式

js字符串查重表达式

问:如何在JS中判断两个字符串中有相同的字符
  1. 答:var str1="abc";
    var str2="bde";
    var i;
    for(i=0; i<=str1.length-1; i++)
    {
    if (str2.indexOf(str1.substr(i,1))!=-1)
    {
    alert('有相同的字符');
    break;
    }
    else
    if (i==str1.length-1) alert('无相同字符');
    }
问:JS如何检查是否有相同的字符串
  1. 答:function testfun(str)
    {
    var array = new array('1','2','3','','5');
    for( var i=0;i<array.length;i++ )
    {
    if( array[i] == str )
    {
    alert('找到与'+str+'相等元素');
    }
    }
    }
    //调用方法
    var str='';
    testfun(str);
    //输出结果 找到与相等元素
  2. 答:用个笨方法,就是添加标签的时候用个全局变量,每次加标签和前边的一个用空格间隔,添加新标签的时候,把全局变量分隔开,一个个进行匹配,
问:JS 怎么用正则去重字符串。如:var="123456,123456"; 只保留一个字符串
  1. 答:",123456,,123456,,12346,,123456,".replace(/(,\d+,)(?=\S+\1)/g,"");
    差不多就这样了,你吧字符串预先处理成我这个格式,再替换。
问:js正则表达式匹配字符串
  1. 答:function test(id){
       var s="2.1,1.2.1,2.1,2.1.1,2.1";
       // 给前后加逗号
       s = ',' + s + ',';
       // 转义id里的.(点), 不然new之后就变成通配符了
       id = id.replace(/\./, '\\.');
       var reg =  "," + id +",";
       var exp = new RegExp(reg,"g");
       s = s.replace(exp,",");
       // 删除前后逗号
       s = s.replace(/(^,)|(,$)/g, '');
       alert(s);
    }
    test("2.1")
  2. 答:function test(id){
        var s = '2.1,1.2.1,2.1,2.1.1,2.1';
        // var reg = /^2.1,|,2.1(?=,)|,2.1$/g;
        var reg = new RegExp('^' + id + ',|,' + id + '(?=,)|,' + id + '$','g');
        return s.replace(reg,'');
    }
    alert(test('2.1'));
问:JS字符串转成数学表达式
  1. 答:只要是完全符合js语法的 直接用eval即可 否则就很麻烦了 可能需要你自己按照四则运算的顺序自己来写一个函数解释表达式
  2. 答:var str="21/3+6*6*(5-8)";
    eval("str="+str);
    alert();
  3. 答:eval('21/3+6*6*(5-8)');
js字符串查重表达式
下载Doc文档

猜你喜欢