Languages Focus: Empty String Check
An empty string is a zero length string, a string that is equal to null (""), or not assigned. In some languages, you can check if a string is empty by comparing it to an empty string (""). Some languages distinguish between nil and null ("") so checking if the length is 0 is easier.
ASP Classic Empty String Check
In ASP Classic, you have to add an empty string to the value being compared in order to get consistent results. For example, add &"" to your string varilable or it's code equivalent &vbNullString. Then compare to an empty string or verify it's length to 0 with Len.
Syntax Example: All these will work for variables unassigned, set to "", or set to Null:
If s&"" = "" Then
Response.Write("<br>Quotes with &'' say null is empty")
End If
If Len(s&"") = 0 Then
Response.Write("<br>Len with &'' says null is empty")
End If
If Len(s&vbNullString) = 0 Then
Response.Write("<br>Using vbNullString also works!")
End If
Complete Example
In the following code, notice techniques notice techniques 2a and 2c fail with Null values.
<%@LANGUAGE='VbScript'%>
<%Option Explicit%>
<html>
<body>
<h1>Empty String Check</h1>
<%
Dim s
''''''''''''''''''''''''''''
''' 1. Unassigned value. '''
''''''''''''''''''''''''''''
''Technique A
'''''''''''''
If s = "" Then
Response.Write("<br>1a. Quotes say unassigned empty")
End If
''Technique B
'''''''''''''
If s&"" = "" Then
Response.Write("<br>1b. Quotes say unassigned empty")
End If
''Technique C
'''''''''''''
If Len(s) = 0 Then
Response.Write("<br>1c. Len says unassigned is empty")
End If
''Technique D
'''''''''''''
If Len(s&"") = 0 Then
Response.Write("<br>1d. Len with &'' says unassigned is empty")
End If
''''''''''''''''''''''
''' 2. Null value. '''
''''''''''''''''''''''
s = Null
''Technique A
'''''''''''''
If s = "" Then
Response.Write("<br>2a. Quotes say null is empty") ''Fails!!!
End If
''Technique B
'''''''''''''
If s&"" = "" Then
Response.Write("<br>2b. Quotes with &'' say null is empty")
End If
''Technique C
'''''''''''''
If Len(s) = 0 Then
Response.Write("<br>2c. Len says null is empty") ''Fails!!!
End If
''Technique D
'''''''''''''
If Len(s&"") = 0 Then
Response.Write("<br>2d. Len with &'' says null is empty")
End If
''''''''''''''''''''
''' 3. "" value. '''
''''''''''''''''''''
s = ""
''Technique A
'''''''''''''
If s = "" Then
Response.Write("<br>3a. Quotes say '' is empty") ''Fails!!!
End If
''Technique B
'''''''''''''
If s&"" = "" Then
Response.Write("<br>3b. Quotes with &'' say '' is empty")
End If
''Technique C
'''''''''''''
If Len(s) = 0 Then
Response.Write("<br>3c. Len says '' is empty") ''Fails!!!
End If
''Technique D
'''''''''''''
If Len(s&"") = 0 Then
Response.Write("<br>3d. Len with &'' says '' is empty")
End If
''vbNullString is the code version of ""
''''''''''''''''''''''''''''''''''''''''
If Len(s&vbNullString) = 0 Then
Response.Write("<br>Using vbNullString also works!")
End If
%>
</body>
</html>
The following are practice certification questions with answers highlighted. These questions were prepared by Mike Prestwood and are intended to stress an important aspect of this KB post. All our practice questions are intended to prepare you generally for passing any certification test as well as prepare you for professional work.