var str="111212121, 213213211, 123213211, 846544, 564544";
str = str.split(",");
for (i=0;str[i].length<11;++i) {
document.writeln(str[i].length);
.................
}

解决方案 »

  1.   

    谢谢 asde2004(FLY) 的回答
    但判定若其中有一个值长度少于11位,给出提示说明str不符合要求,该怎么作
      

  2.   

    用if判断:function dep(){
    var str="111212121,21527518977,12321,556678564544,88888888888,4444";
    str=str.split(",");
    var limit=11;
    for (i=0;i<str.length;i++) {
    if (str[i].length!=limit) {
    if (str[i].length<limit) {
    document.writeln("小于11");
    }
    else {
    document.writeln("大于11");
    }
    }
    else {
    document.writeln(str[i].length);
    }
    }
    }
      

  3.   

    但是如果这样写为什么会出现只检查数组中的第一个值的情况?
    for (i=0;i<str.length;i++) {
    if (str[i]!=a1) {
    alert(str[i]);
    }
    else{
                 return;    
    }
    每次只和str[0]比较,以后的就没有比较过,这又是为什么???
      

  4.   

    这种问题用正则表达式比那种split+for循环要简洁得多。var str="111212121, 213213211, 123213211, 846544, 564544";
    if(/(^| )\d{1,10}(,|$)/.test(str)) alert("至少有一个数据的位长少于11位");