asp 关于表单验证 要求密码只能是 字母和数字 的问题

[复制链接]
查看11 | 回复2 | 2010-5-12 13:31:29 | 显示全部楼层 |阅读模式
验证函数如下:
function checkpass(upass)
checkpass=ture
dim count,lupass,ascvalue
dim sstr(16)
lupass=Lcase(upass)
'提取每一个字符,存储到数组中
count=len(lupass)
for i=1 to count
sstr(i)=Mid(lupass,i,1)
next
'依次检查每个字符,必须为字母或者数字
for i=1 to count
ascvalue=asc(sstr(i))
if (ascvalue122) and (ascvalue57) then
checkpass=false
exit for
end if
next
end function
后面跟一个条件判断语句:
if not(checkpass(newpwd)) then
session("err2")="用户密码应该由英文字母或数字组成"
response.Redirect("modifypwd.asp")
response.End()
exit sub
end if
但是无论我在newpwd里输入什么,都会提示"用户密码应该由英文字母或数字组成"
这是在注册或者修改密码时的表单验证,1楼看清标题
根据craft001wen 的回答:我的ASC码有什么错误呢?

回复

使用道具 举报

千问 | 2010-5-12 13:31:29 | 显示全部楼层
两个错误:1,函数生成的ASC码值 不对2,判断语句你用NOT,逻辑上不是很准确,改 为:If checkpass(newpwd)=FALSE then给你一个简单,直观的写法:
回复

使用道具 举报

千问 | 2010-5-12 13:31:29 | 显示全部楼层
我也是菜鸟,我没写过判断这个的代码,基本上都是复制过来用的,也不能完全看懂整个代码,但是看完你的代码,我觉得是不是你做了双重否定呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行