求一个名的正规如何判断正确
LAI KA FUNG
李浩林不正确
L A I K A F U N G
李 浩 林英文名之间可以有空格,但不能把每个字母都分开,中文不可有空格谢谢

解决方案 »

  1.   

    中文不能有空格,英文用空格分开的个数不能超过中文个数
    function chk(se,sc){
    return sc.replace(' ','')==sc&&se.length<=se.replace(/ /g,'').length+sc.length-1;
    }
    alert(chk('LAI KA FUNG','李浩林'));或者
    function chk(se,sc){
    return sc.replace(' ','')==sc&&se.split(' ').length<=sc.length;
    }
    alert(chk('LAI KA FUNG','李浩林'));
      

  2.   

    jnkc不是中文跟英文的字数做比对是检测到输入的是英文时,可以有空格,但不能把每个字母都分开输入中文时不可以有空格那个名,可以输入中或英文
      

  3.   

    var datas = ["abc", "汉字", "a b c", "ab cde", "汉 字", "汉 "];
    var msg = "";
    for (var i = 0; i < datas.length; i++) {
        if (!/\b[a-z]\b|\s+[\u0100-\uFFFF]|[\u0100-\uFFFF]\s+/.test(datas[i]))
            msg += datas[i] + "\n";
    }
    alert(msg);