检查汉字串中是否有半角或非法字符
答案:2 悬赏:0 手机版
解决时间 2021-03-01 15:16
- 提问者网友:临风不自傲
- 2021-02-28 16:55
检查汉字串中是否有半角或非法字符
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-02-28 17:16
业务系统运行中
经常情况下,因为各种原因,会造成汉字串混进非标准字符或X’0E’—X’0F’配对出现混
乱,导致汉字串异常。业务员常常希望程序员能够从大量数据的表中自动检查出含有异常汉
字串的记录。
一.函数源码名CHECKCHNP,函数名C_CHECK
二.检查规则:
1。如果字符串中没有X'0E'和X'0F',则检查字符串是否全是常规半角字符,如果全是常规
半角字符,则字符串有效,否则非法。
2。如果字符串中X'0E'和X'0F'不配对,则字符串非法。
3。如果X'0E'和X'0F'之间字符个数为奇数,则字符串为非法。
4。如果X'0F'在X'0E'前面,则字符串非法。
5。字符串中有X'00',则非法。
三:调用方法:
Eval WWSIGN=C_CHECK(CHNNAM)
其中CHNNAM 为检查字段,WWSIGN 为返回标识,如果WWSIGN 不等于零,则该字段非法。
四:调用示范例子
检查TESTA 文件中包含客户姓名(CHNNAM)字段是否非法,把有非法姓名的记录输出到TESTAQL文件里。
经常情况下,因为各种原因,会造成汉字串混进非标准字符或X’0E’—X’0F’配对出现混
乱,导致汉字串异常。业务员常常希望程序员能够从大量数据的表中自动检查出含有异常汉
字串的记录。
一.函数源码名CHECKCHNP,函数名C_CHECK
二.检查规则:
1。如果字符串中没有X'0E'和X'0F',则检查字符串是否全是常规半角字符,如果全是常规
半角字符,则字符串有效,否则非法。
2。如果字符串中X'0E'和X'0F'不配对,则字符串非法。
3。如果X'0E'和X'0F'之间字符个数为奇数,则字符串为非法。
4。如果X'0F'在X'0E'前面,则字符串非法。
5。字符串中有X'00',则非法。
三:调用方法:
Eval WWSIGN=C_CHECK(CHNNAM)
其中CHNNAM 为检查字段,WWSIGN 为返回标识,如果WWSIGN 不等于零,则该字段非法。
四:调用示范例子
检查TESTA 文件中包含客户姓名(CHNNAM)字段是否非法,把有非法姓名的记录输出到TESTAQL文件里。
全部回答
- 1楼网友:第四晚心情
- 2021-02-28 18:22
思路:用一个变量lenstr记录总长度,在循环中,首先用asc()函数逐个判断字符串中的每个元素,得到负值为全角此是lenstr+2,正值为半角lenst+1,最后去判断lenstr是否大于15
private sub command1_click()
msgbox lenstr("爱我中华good")
end sub
private function lenstr(tmpstr as string) as long
dim i as long, s as string
dim tmplen as long
lenstr = 0
i = 1
do while i <= len(tmpstr)
s = mid(tmpstr, i, 1)
tmplen = iif(asc(s) < 0, 2, 1)
lenstr = lenstr + tmplen
i = i + 1
loop
end function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯