asp 空值测试判断函数
投稿:mdxy-dxy
被asp判断空值闪了一下腰
从表单提交过来的值,
score=request.Form("score") //--score为分数 if Trim(request("score")) = "" then //--如果提交过来的值为空,则赋默认值0; score =0 end if
写了很多种写法,但是都不起作用:
例如:
1. Trim(request("score")) == "" //--点评:错在多了个=号,在ASP的VBS脚本中,相等不是两个等号;
2. ISEMPTY(request("score")) //--点评:看了别人的说法,只是这么去写,测试了,行不通;
3. ISNull(request("score")) //--点评:看了别人的说法,只是这么去写,测试了,行不通;
4. request("score")=NULL //--点评:看了别人的说法,只是这么去写,测试了,行不通;
5. request("score")== NULL //--点评:看了别人的说法,只是这么去写,测试了,行不通;
总结如下:
在数据库中读取出来的时候,才用ISNULL函数来进行判断(待测试);
从表单提交过来的值,是以字符串的形式提交过来,(80%确定)
isnull 说明指针为空,指针指到一个无效的位置,即对象不存在,
isempty 说明指针指向一个有效位置,但是值为空
1、空字符串
例:
a)Dim strTmp
response.write(strTmp="") ' 返回true
b)response.write(str="") ' 返回 true
c)Dim strTmp
strTmp=""
response.write(strTmp="") ' 返回 true
没有赋值的变量ASP可以认为是空字符串或叫做零长度字符串。
2、IsEmpty()
如果变量未初始化或显式地设置为 Empty,则函数 IsEmpty 返回 True;
否则函数返回 False。如果 expression 包含一个以上的变量,总返回 False。
例:
a)Dim strTmp
Response.Write(IsEmpty(strTmp)) ' 返回 True
b) Response.Write(IsEmpty(str))' 返回 True
c)Dim strTmp
strTmp = Null
Response.Write(IsEmpty(strTmp)) ' 返回 Flase
d)Dim strTmp
strTmp = Empty
Response.Write(IsEmpty(strTmp)) ' 返回 True
e)Dim strTmp
strTmp = ""
Response.Write(IsEmpty(strTmp)) ' 返回 Flase
没有赋值的变量也可以认为是Empty 即空值
可以用isdate,isarray,isnumeric替代isempty进行测试a),b)两个例子,isnumeric也是返回 True,isdate,isarray返回 False
3.empty补充
dim a,b,c,d,e,f, a=0 b=0.0 c="" d=false e=empty response.write(x=empty) 'x请用a,b,c,d,e,f其中一个代替,返回都为true response.write(isempty(x)) 'x请用a,b,c,d,e,f其中一个代替,除了e,f,其它返回都为false
4、IsNull()
Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 ("") 也不同,零长度字符串往往指的是空串。
使用 IsNull 函数可以判断表达式是否包含 Null 值。
例:
a)Dim strTmp
Response.Write(IsNull(strTmp)) ' 返回 False
b)Response.Write(IsNull(strTmp)) ' 返回 False 注意这里strTmp是一个未经声明的变量
c)Dim strTmp
strTmp = Null
Response.Write(IsNull(strTmp)) ' 返回 True
d)Dim strTmp
strTmp = Empty
Response.Write(IsNull(strTmp)) ' 返回 False
'函数:空值测试 Function inull(Val) Dim tmp tmp = False If IsNull(Val) Then tmp = True ElseIf IsEmpty(Val) Then tmp = True ElseIf Trim(Val) = "" Then tmp = True End If inull = tmp End Function
测试变量是否为空值,空值的含义包括:变量不存在/为空,对象为Nothing,0,空数组,字符串为空
Function IsBlank(ByRef Var) IsBlank = False Select Case True Case IsObject(Var) If Var Is Nothing Then IsBlank = True Case IsEmpty(Var), IsNull(Var) IsBlank = True Case IsArray(Var) If UBound(Var) = 0 Then IsBlank = True Case IsNumeric(Var) If (Var = 0) Then IsBlank = True Case Else If Trim(Var) = "" Then IsBlank = True End Select End Function
到此这篇关于asp 空值测试判断函数的文章就介绍到这了,更多相关空值测试判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!