但是我认为是可以实现的吧。尽管VBScript也好。但本人对Script的东西不熟悉。

解决方案 »

  1.   

    http://www.meizz.com/web/jspy.htm    //CSDN屏蔽了一些关键字,没法子直接回复了
      

  2.   

    我地妈呀,meizz的那个页面里还弄了那么大一堆的字库,稀里哗啦,呵呵...
      

  3.   

    没招呀,JS对汉字都是以 Unicode 编码来解释的,不是拼音排序的呀。
      

  4.   

    总算改完了
    晕了,大梅的那个网站我在公司上不了,居然拒绝原因报是“间谍网站类别”
    上面的代码我改成JS之后,有问题啊,晕倒编码方式不同啊
    charCodeAt得出来的值和asc()得出来的值差异太大,我算差值都不可以,没办法,在里面调了VBSCRIPT,郁闷。
    <script language=vbscript>
    function getAsc(chr_)
    getAsc=asc(chr_)
    end function
    </script>
    <script language=javascript>
    function GetAsc(str)
    {
    str=str.toUpperCase();//这段只是用来保留中文字间的数字,不要可删除
    str=str.replace("0","a");
    str=str.replace("1","b");
    str=str.replace("2","c");
    str=str.replace("3","d");
    str=str.replace("4","e");
    str=str.replace("5","f");
    str=str.replace("6","g");
    str=str.replace("7","h");
    str=str.replace("8","i");
    str=str.replace("9","j");
    str=str.replace(" ","");//开始取出
    helpchr_="";
    for(i=0;i<str.length;i++)
    {
    chr_=str.substr(i,1);
    asc_=getAsc(chr_);
    if((asc_>0)&&(asc_<128))

      helpchr_=helpchr_+str.substr(i,1);
     }
    else
    {
      casc_=parseInt(asc_)+65536;
      alert(casc_);
    if((casc_>=45217)&&(casc_<=45252))
    {
      helpchr_=helpchr_+"A";
    }
    else if((casc_>=45253)&&(casc_<=45760))

    helpchr_=helpchr_+"B";
    }
    else if((casc_>=45761)&&(casc_<=46317))

    helpchr_=helpchr_+"C";
    }
    else if((casc_>=46318)&&(casc_<=46825)) 
    {
    helpchr_=helpchr_+"D";
    }
    else if((casc_>=46826)&&(casc_<=46847))
    {
     helpchr_=helpchr_+"E";
    }
    else if((casc_>=47010)&&(casc_<=47296))
    {
     helpchr_=helpchr_+"F";
    }
    else if((casc_>=47297)&&(casc_<=47613))
    {
     helpchr_=helpchr_+"G";
    }
    else if((casc_>=47614)&&(casc_<=48118))
    {
     helpchr_=helpchr_+"H";
    }
    else if((casc_>=48119)&&(casc_<=49061))
    {
     helpchr_=helpchr_+"J";
    }
    else if((casc_>=49062)&&(casc_<=49323))
    {
     helpchr_=helpchr_+"K";
    }
    else if((casc_>=49324)&&(casc_<=49895))
    {
     helpchr_=helpchr_+"L";
    }
    else if((casc_>=49896)&&(casc_<=50370))
    {
     helpchr_=helpchr_+"M";
    }
    else if((casc_>=50371)&&(casc_<=50613))
    {
     helpchr_=helpchr_+"N";
    }
    else if((casc_>=50614)&&(casc_<=50621))
    {
     helpchr_=helpchr_+"O";
    }
    else if((casc_>=50622)&&(casc_<=50905))
    {
     helpchr_=helpchr_+"P";
    }
    else if((casc_>=50906)&&(casc_<=51386))
    {
     helpchr_=helpchr_+"Q";
    }
    else if((casc_>=50387)&&(casc_<=51445))
    {
     helpchr_=helpchr_+"R";
    }
    else if((casc_>=51446)&&(casc_<=52217))
    {
     helpchr_=helpchr_+"S";
    }
    else if((casc_>=52218)&&(casc_<=52697))
    {
     helpchr_=helpchr_+"T";
    }
    else if((casc_>=52698)&&(casc_<=52979))
    {
     helpchr_=helpchr_+"W";
    }
    else if((casc_>=52980)&&(casc_<=53688))
    {
     helpchr_=helpchr_+"X";
    }
    else if((casc_>=53689)&&(casc_<=54480))
    {
     helpchr_=helpchr_+"Y";
    }
    else if((casc_>=54481)&&(casc_<=55289))
    {
     helpchr_=helpchr_+"Z";
    }
    else
    {
       helpchr_=helpchr_+" ";
     }
     alert(helpchr_);
    }
    }
    //这段只是用来保留中文字间的数字,不要可删除
    helpchr_=helpchr_.Replace("a","0")
    helpchr_=helpchr_.Replace("b","1")
    helpchr_=helpchr_.Replace("c","2")
    helpchr_=helpchr_.Replace("d","3")
    helpchr_=helpchr_.Replace("e","4")
    helpchr_=helpchr_.Replace("f","5")
    helpchr_=helpchr_.Replace("g","6")
    helpchr_=helpchr_.Replace("h","7")
    helpchr_=helpchr_.Replace("i","8")
    helpchr_=helpchr_.Replace("j","9")
    helpchr_=helpchr_.replace(" ","")
    return helpchr_
    }
    alert(GetAsc("人a力资源部"))
    </script>
      

  5.   

    SORRY最后一点没改完,改下
    <script language=vbscript>
    function getAsc(chr_)
    getAsc=asc(chr_)
    end function
    </script>
    <script language=javascript>
    function GetAsc(str)
    {
    str=str.toUpperCase();//这段只是用来保留中文字间的数字,不要可删除
    str=str.replace("0","a");
    str=str.replace("1","b");
    str=str.replace("2","c");
    str=str.replace("3","d");
    str=str.replace("4","e");
    str=str.replace("5","f");
    str=str.replace("6","g");
    str=str.replace("7","h");
    str=str.replace("8","i");
    str=str.replace("9","j");
    str=str.replace(" ","");//开始取出
    helpchr_="";
    for(i=0;i<str.length;i++)
    {
    chr_=str.substr(i,1);
    asc_=getAsc(chr_);
    if((asc_>0)&&(asc_<128))

      helpchr_=helpchr_+str.substr(i,1);
     }
    else
    {
      casc_=parseInt(asc_)+65536;
    if((casc_>=45217)&&(casc_<=45252))
    {
      helpchr_=helpchr_+"A";
    }
    else if((casc_>=45253)&&(casc_<=45760))

    helpchr_=helpchr_+"B";
    }
    else if((casc_>=45761)&&(casc_<=46317))

    helpchr_=helpchr_+"C";
    }
    else if((casc_>=46318)&&(casc_<=46825)) 
    {
    helpchr_=helpchr_+"D";
    }
    else if((casc_>=46826)&&(casc_<=46847))
    {
     helpchr_=helpchr_+"E";
    }
    else if((casc_>=47010)&&(casc_<=47296))
    {
     helpchr_=helpchr_+"F";
    }
    else if((casc_>=47297)&&(casc_<=47613))
    {
     helpchr_=helpchr_+"G";
    }
    else if((casc_>=47614)&&(casc_<=48118))
    {
     helpchr_=helpchr_+"H";
    }
    else if((casc_>=48119)&&(casc_<=49061))
    {
     helpchr_=helpchr_+"J";
    }
    else if((casc_>=49062)&&(casc_<=49323))
    {
     helpchr_=helpchr_+"K";
    }
    else if((casc_>=49324)&&(casc_<=49895))
    {
     helpchr_=helpchr_+"L";
    }
    else if((casc_>=49896)&&(casc_<=50370))
    {
     helpchr_=helpchr_+"M";
    }
    else if((casc_>=50371)&&(casc_<=50613))
    {
     helpchr_=helpchr_+"N";
    }
    else if((casc_>=50614)&&(casc_<=50621))
    {
     helpchr_=helpchr_+"O";
    }
    else if((casc_>=50622)&&(casc_<=50905))
    {
     helpchr_=helpchr_+"P";
    }
    else if((casc_>=50906)&&(casc_<=51386))
    {
     helpchr_=helpchr_+"Q";
    }
    else if((casc_>=50387)&&(casc_<=51445))
    {
     helpchr_=helpchr_+"R";
    }
    else if((casc_>=51446)&&(casc_<=52217))
    {
     helpchr_=helpchr_+"S";
    }
    else if((casc_>=52218)&&(casc_<=52697))
    {
     helpchr_=helpchr_+"T";
    }
    else if((casc_>=52698)&&(casc_<=52979))
    {
     helpchr_=helpchr_+"W";
    }
    else if((casc_>=52980)&&(casc_<=53688))
    {
     helpchr_=helpchr_+"X";
    }
    else if((casc_>=53689)&&(casc_<=54480))
    {
     helpchr_=helpchr_+"Y";
    }
    else if((casc_>=54481)&&(casc_<=55289))
    {
     helpchr_=helpchr_+"Z";
    }
    else
    {
       helpchr_=helpchr_+" ";
     }
    }
    }
    //这段只是用来保留中文字间的数字,不要可删除
    helpchr_=helpchr_.replace("a","0")
    helpchr_=helpchr_.replace("b","1")
    helpchr_=helpchr_.replace("c","2")
    helpchr_=helpchr_.replace("d","3")
    helpchr_=helpchr_.replace("e","4")
    helpchr_=helpchr_.replace("f","5")
    helpchr_=helpchr_.replace("g","6")
    helpchr_=helpchr_.replace("h","7")
    helpchr_=helpchr_.replace("i","8")
    helpchr_=helpchr_.replace("j","9")
    helpchr_=helpchr_.replace(" ","")
    return helpchr_
    }
    alert(GetAsc("人a力资源部"))
    </script>
      

  6.   

    hbhbhbhbhb1021(天外水火(我是SB,我要多努力))
    呵呵,你这是换汤不换药,还是用VBS解了。
      

  7.   

    在java 应用程序中,我都是用大耳朵汉语拼音对照表查找的,求出汉字的gb码,高位字节和低位字节转化无符号整数值,代入公式定位汉语拼音。
    但js不能转化gbk,真没办法。碰到这情况,我是这样作的:在服务器端写个servlet,在js中用xmlhttp调用servlet返回拼音首字母。其实可以在一个servlet中封装许多的类似js完不成的转换功能,用一个request参数作为服务名
      

  8.   

    java得到汉字的首字符我写过一个BLOG
    http://blog.csdn.net/hbhbhbhbhb1021/archive/2005/07/22/431828.aspx