欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

获取字符中中文首字字符

程序员文章站 2023-08-24 13:16:49
复制代码 代码如下:<% '获取字符中中文首字字符     '返回:a-z ;123 ; ###...

复制代码 代码如下:

<%
'获取字符中中文首字字符
    '返回:a-z ;123 ; ###
    public function getspellchar(str)
        dim tmp
        getspellchar = "@"
        tmp = 65536 + asc(str)
        if (tmp >= 45217 and tmp <= 45252) or (tmp = 65601) or (tmp = 65633) or (tmp = 37083) then
            getspellchar = "a1"
        elseif (tmp >= 45253 and tmp <= 45760) or (tmp = 65602) or (tmp = 65634) or (tmp = 39658) then
            getspellchar = "b1"
        elseif (tmp >= 45761 and tmp <= 46317) or (tmp = 65603) or (tmp = 65635) or (tmp = 33405) then
            getspellchar = "c1"
        elseif (tmp >= 46318 and tmp <= 46930) or (tmp = 61884) or (tmp = 63468) or (tmp = 65604) or (tmp >= 36820 
and tmp <= 38524) or (tmp = 65636) then
            getspellchar = "d1"
        elseif (tmp >= 46931 and tmp <= 47009) or (tmp >= 46827 and tmp <= 46842) or (tmp = 65605) or (tmp = 65637) 
or (tmp = 61513) then '46827 46833 46842
            getspellchar = "e1"
        elseif (tmp >= 47010 and tmp <= 47296) or (tmp = 65606) or (tmp = 65638) or (tmp = 61320) or (tmp = 63568) or 
(tmp = 36281) then
            getspellchar = "f1"
        elseif (tmp >= 47297 and tmp <= 47613) or (tmp = 65607) or (tmp = 65639) or (tmp = 35949) or (tmp = 36089) or 
(tmp = 36694) or (tmp = 34808) then
            getspellchar = "g1"
        elseif (tmp >= 47614 and tmp <= 48118) or (tmp = 59112) or (tmp = 40296) or (tmp = 65608) or (tmp = 65640) 
then
            getspellchar = "h1"
        elseif (tmp = 65641) or (tmp = 65609) or (tmp = 65641) then
            getspellchar = "i1"
        elseif (tmp >= 48119 and tmp <= 49061 and tmp <> 48739) or (tmp >= 62430 and tmp <= 62430) or (tmp = 65610) 
or (tmp = 65642) or (tmp = 39048) then
            getspellchar = "j1"
        elseif (tmp >= 49062 and tmp <= 49323) or (tmp = 65611) or (tmp = 65643) then
            getspellchar = "k1"
        elseif (tmp >= 49324 and tmp <= 49895) or (tmp >= 58838 and tmp <= 58838) or (tmp = 65612) or (tmp = 65644) 
or (tmp = 62418) or (tmp = 48739) then
            getspellchar = "l1"
        elseif (tmp >= 49896 and tmp <= 50370) or (tmp = 63432) or (tmp = 65613) or (tmp = 65645) then
            getspellchar = "m1"
        elseif (tmp >= 50371 and tmp <= 50613) or (tmp = 65614) or (tmp = 65646) then
            getspellchar = "n1"
        elseif (tmp >= 50614 and tmp <= 50621) or (tmp = 65615) or (tmp = 65615) or (tmp = 65647) then
            getspellchar = "o1"
        elseif (tmp >= 50622 and tmp <= 50905) or (tmp = 65616) or (tmp = 65648) then
            getspellchar = "p1"
        elseif (tmp >= 50906 and tmp <= 51386) or (tmp >= 62659 and tmp <= 63172) or (tmp = 63464) or (tmp = 63226) 
or (tmp = 65617) or (tmp = 65649) then
            getspellchar = "q1"
        elseif (tmp >= 51387 and tmp <= 51445) or (tmp = 65618) or (tmp = 65650) then
            getspellchar = "r1"
        elseif (tmp >= 51446 and tmp <= 52217) or (tmp = 65619) or (tmp = 65651) or (tmp = 34009) then
            getspellchar = "s1"
        elseif (tmp >= 52218 and tmp <= 52697) or (tmp = 65620) or (tmp = 65652) then
            getspellchar = "t1"
        elseif (tmp = 65621) or (tmp = 65653) then
            getspellchar = "u1"
        elseif (tmp = 65622) or (tmp = 65654) then
            getspellchar = "v1"
        elseif (tmp >= 52698 and tmp <= 52979) or (tmp = 65623) or (tmp = 65655) then
            getspellchar = "w1"
        elseif (tmp >= 52980 and tmp <= 53688) or (tmp = 63182) or (tmp = 65624) or (tmp = 65656) then
            getspellchar = "x1"
        elseif (tmp >= 53689 and tmp <= 54480) or (tmp = 65625) or (tmp = 65657) then
            getspellchar = "y1"
        elseif (tmp >= 54481 and tmp <= 62383 and tmp <> 59112 and tmp <> 58838 and tmp <> 57566) or (tmp = 65626) or 
(tmp = 65658) or (tmp = 38395) or (tmp = 39783) then
            getspellchar = "z1"
        end if
        if (tmp >= 65601 and tmp <= 65658) then getspellchar = ucase(left(trim(str), 1)) '字母
        if (tmp >= 65584 and tmp <= 65593) then getspellchar = "123" '数字
        'response.write(tmp)
    end function
response.write getspellchar("脚")
response.write getspellchar("本")
response.write getspellchar("之")
%>