View Full Version : Check, Numbers and Letters Only.
Morgoth
02-02-2003, 12:36 AM
I am going very slow at the moment, and I can not remember how to check a string to make sure it's only numbers and letters as characters and not other symbols.
Thank you.
oracleguy
02-02-2003, 01:56 AM
http://www.codingforums.com/showthread.php?s=&threadid=7472
Like this?
Morgoth
02-02-2003, 02:01 AM
I found it out...
This will be my function...
Dim Z As String, X As Integer
For I = 1 To Len(Z)
X = Asc(Mid(Z, I, 1))
If Not ((X >= 48 And X <= 57) Or (X >= 65 And X <= 90) Or (X >= 97 And X <= 122)) Then
MsgBox "error"
End If
Next
Morgoth
02-02-2003, 02:03 AM
Originally posted by oracleguy
http://www.codingforums.com/showthread.php?s=&threadid=7472
Like this?
Well, I didn't see your post there until now, but thanks for the support!
whammy
02-02-2003, 03:20 AM
I have a more concise function now - perhaps may be improved upon in the future, but as simple as I know how - however I do like your approach of using Asc() values, Morgoth, that's yet another way to do it! It's probably not as fast though since you're looping.
Function IsAlphaNumeric(str)
Dim ianRegEx
Set ianRegEx = New RegExp
ianRegEx.Pattern = "[^a-zA-Z0-9]"
ianRegEx.Global = True
IsAlphaNumeric = (ianRegEx.Test(str) = False)
End Function
http://www.solidscripts.com/displayscript.asp?sid=10
Example usage:
<%
If IsAlphaNumeric("SDF(**(&") = False Then
Response.Write("Please refrain from using characters other than letters or numbers in your entry.")
End If
%>
:)
Morgoth
02-02-2003, 05:31 AM
Thank you whammy.
I haven't really gotten into RegExp. I don't really understand exactly what it is.
Do you hav any tutorials?
I used two scripts, now three, that use this, and I want to understand what it is doing, how, and why.
Thanks again.
whammy
02-02-2003, 04:21 PM
Some great tutorials here:
http://www.siteexperts.com/tips/functions/ts23/page1.asp
http://developer.netscape.com/docs/manuals/js/client/jsguide/regexp.htm
http://www.webreference.com/js/column5/
http://www.devshed.com/Server_Side/Administration/RegExp/
What this does:
Function IsAlphaNumeric(str)
Dim ianRegEx
Set ianRegEx = New RegExp
ianRegEx.Pattern = "[^a-zA-Z0-9]"
ianRegEx.Global = True
IsAlphaNumeric = (ianRegEx.Test(str) = False)
End Function
[^a-zA-Z0-9]
[] - character grouping brackets
^ - when inside grouping brackets, means "NOT" (otherwise it represents the beginning of the string)
a-zA-Z0-9 - the characters NOT to match
the reason I use
IsAlphaNumeric = (ianRegEx.Test(str) = False)
is because if you use:
[a-zA-Z0-9] (notice there is no NOT)
then
IsAlphaNumeric = ianRegEx.Test(str)
will ALWAYS return true if ANY of those characters exist...
Morgoth
02-03-2003, 03:33 AM
Thank you whammy.
angiras
02-04-2003, 09:13 PM
an easy or lazy way is
dim _myInt as integer
public property isInteger() as boolean
get
dim _i as integer
try
_i = cInt(_myInt)
return true
catch
return false
end try
and get
set
_myInt = value
and set
end property
if true then it is an integer , if not ... not
whammy
02-04-2003, 09:34 PM
And how does that account for Alpha characters?
angiras
02-04-2003, 09:40 PM
yes for string you just use regular Expression but for any other format (date ect.. ) you cabn use that leasy way
or even easier
Dim MyVar As Object
Dim MyCheck As Boolean
MyVar = "53" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns True.
' ...
MyVar = "459.95" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns True.
' ...
MyVar = "45 Help" ' Assign value.
MyCheck = IsNumeric(MyVar) ' Returns False
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.