if (!subject.match(/([\d]+).*\1/)) {
alert ("无重复数字");
} else {
alert ("有重复数字");
}

解决方案 »

  1.   

    <script language="javascript">
    str="1,2,3,11"
    str=","+str+","
    if (/(\,[\d]\,).*\1/.test(str)) {
        alert ("有重复数字");
    } else {
        alert ("无重复数字");
    }
    </script>
      

  2.   


    var is_number_nr = function () {
    return /^\((?!(?:\d+[,)]|,\d+[,)])*(\d+)(?:,\d+(?=[,)]))*,\1[,)])\d+(?:,\d+)*\)$/.test(arguments[0]);
    };
    alert(is_number_nr("(2,3,23,22,4)"));
      

  3.   

    if (!subject.match(/([\d]+).*\1/)) {
        alert ("无重复数字");
    } else {
        alert ("有重复数字");
    }
    ----------------------------------------------
    1,12实际不重复,执行出来重复
      

  4.   

    这样就可以了subject = '1,2...'
    if (!subject + " ".match(/([\d]+)[^\d].*[^\d]\1[^\d]/)) {
    alert ('无重复')
    } else {

    }
      

  5.   

    没验证
    搞错...subject += " ";
    subject.match...
      

  6.   

    muxrwc 没发现错误,就是你要在验证前给字符串加(  and )
      

  7.   

    为了处理完整的字符
    主要就是这个。。
    思路就是比如判断不重复的单数
    /^(?!.*(\d).*\1)\d+/ //下文叫它p1这个就是思路。。不过因为它有分割符号和开始结束符号,所以需要判断的多了一点/^\((?!(?:\d+[,)]|,\d+[,)])*(\d+)(?:,\d+(?=[,)]))*,\1[,)])\d+(?:,\d+)*\)$/.test(arguments[0]);
    拆分下。。判断重复
    (?!(?:\d+[,)]|,\d+[,)])*(\d+)(?:,\d+(?=[,)]))*,\1[,)])
    校验正确
    /^\(判断重复\d+(?:,\d+)*\)$/.test(arguments[0]);判断重复里
    (?:\d+[,)]|,\d+[,)])*
    这个好比
    p1里的开头那段.*
    (\d+)(?:,\d+(?=[,)]))*,\1[,)])
    这个好比p1里的(\d).*
    后面同理[,)]
    加这个主要就是为了检查字符完整。。
    否则会出现
    1,13
    这种bug
      

  8.   

    subject = '1,2...'
    if (!subject + " ".match(/([\d]+)[^\d].*[^\d]\1[^\d]/)) {
        alert ('无重复')
    } else {
        
    }
    ==========
    subject = '1'
    也报重复??
      

  9.   

    alert(is_number_nr("(2,3,23,22,4)"));
    ================
    "(2,3,23,22,4)" 呵呵 怪不得用"2,3,23,22,4" 试的时候出错