ASP编程 菜鸟问题 类型不匹配

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:54:02
'只能为字母和数字
function is_user(ustring)
for i=1 to len(ustring)
if (asc(mid(ustring,i,1))>=48 and asc(mid(ustring,i,1))=<57) or (asc(mid(ustring,i,1))>=65 and asc(mid(ustring,i,1))=<90) or (asc(mid(ustring,i,1))>=97 and asc(mid(ustring,i,1))=<122) then
is_user=true
else
is_user=false
exit for
end if
next
end function

if len(request.Form("passwords"))<6 or len(request.Form("passwords"))>16 or not is_user(cstr(request.Form("passwords"))) then
response.write"<script language=javascript>alert('密码为6到16个字母或数字,请您再检查一下!');history.go(-1)</script>"
end if

_________________________________
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: 'is_user'

高手帮忙呀!不胜感激!
我的函数 没有直接写到 同一个ASP文件里,而是用include包含的一个外源文件(该文件内含有这个函数),然后调用的。后来我把函数直接写到这个文件发现好用了!汗死~ 当然这个想法是在 yutaoma 的启发下实行的,所以把分给他 也不能算我不讲理啊。 当然也谢谢大家的支持了

阿姨,你的代码在我的平台的测试通过。你不是我的仇人派来故意玩我的吧。
还有一楼的超人。

因为n定义的is_user已经关闭了,关闭后你还用了一次is_user。
解决方法:
将end function放到最后

楼上真tm是超人 偶不佩服都不行啊


a='12345'

if len(a)<6 or len(a)>16 or not is_user(cstr(a)) then
response.write"<script language=javascript>alert('密码为6到16个字母或数字,请您再检查一下!');history.go(-1)</script>"
end if

的执行情况可以看出,函数的写法是对的.

你自己把你的代码写成

a=request.Form("passwords")

if len(a)<6 or len(a)>16 or not is_user(cstr(a)) then
response.write"<script language=javascript>alert('密码为6到16个字母或数字,请您再检查一下!');history.go(-1)</script>"
end if

看看得不得?

见识超人了....原来函数是要这样写的,end function 是必须写在调用的语句之后的,汗....

这样的话,还要函数干嘛????

如果用户名ustring是空的时候可能会出错,函数中最好加上一句判断是否为空的代码.
如果实在不行再加上on error resume next,跳过错误继续执行代码,具体代码如下..

'on error resume next
function is_user(ustr