Link to home
Start Free TrialLog in
Avatar of groovymonkey
groovymonkeyFlag for Canada

asked on

VbScript form validation for phone number, outlook email address formats

Hello,
I need some help regarding form validation of several items I have on a form.
Here is the pseudocode for the telephone format I want

if trim(request.querystring("tel")) does not fit the pattern (555) 555-5555 then      flag="error"
      response.write("Please enter a valid telephone number")
      response.write("<br>")
end if

Here is the pseudocode for the email format I want
*please note that the email I am checking for I only want to check that the address has a "," somewhere in the middle.

if trim(request.querystring("email")) does not fit the pattern AAA, AAA then      flag="error"
      response.write("Please enter a valid telephone number")
      response.write("<br>")
end if

thanks for all help
Avatar of MaxOvrdrv2
MaxOvrdrv2

first one ( Phone), here is the code to handle it:

'this section ensures that you have enough characters in the field
if Request.Form("Phone).length != 13 then
   response.write "Please click back and enter a valid phone number: Format (###)###-####"
end if

'this section ensures that you have an opening -(- character and that it's at the beginning
if InStr(Request.Form("Phone"),"(")<>1 then
    response.write "Please click back and enter a valid phone number: Format (###)###-####
end if

'this section ensure that you have a -)- character and that it's at the 4th character
if InStr(Request.Form("Phone"),")")<> 4 then
    response.write "Please click back and enter a valid phone number: Format (###)###-####"
end if

'this section ensures that you have a - character and that it's at the 9th character
if InStr(Request.Form("Phone"), "-")<>9 then
    response.write "Please click back and enter a valid phone number: Format (###)###-####"
end if



second one, that the e-mail contains a ",":

if InStr(Request.Form("email"), ",") <=0 then
     response.write "Please click back and insert the 2nd address!"
end if


hope this helps!

MaxOvrdrv2
sorry sorry... the first if should be this instead:

if Length(Request.Form("Phone)) <> 13 then
   response.write "Please click back and enter a valid phone number: Format (###)###-####"
end if

MaxOvrdrv2
Avatar of groovymonkey

ASKER

Is there a way to do this using the pattern property in VbScript?
using the pattern property in VBScript? -- This is an ASP forum, i would help you if i knew what you were talking about...

from that comment, i'm guessing that you are working in a .Net environment?

MaxOvrdrv2
ASKER CERTIFIED SOLUTION
Avatar of MikeVirtual
MikeVirtual
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
By using javascript client side validation, you can simply remove any non-numeric characters, check you have 10 digits and, if so, reformat the text field accordingly, otherwise alert the user. This avoids a round trip to the server and the horrible 'back button' messsage.

Ask if you want the code.
MikeVirtual.
Mike Virtual,
The vbscript worked great for the phone number...how would I do the same thing to check for an email to make sure that there is a comma somewhere in the middle?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Mike... don't forget that it's obligatory for his users to put 2 addresses seperated by a comma, and that if there is no comma, an error should come up...

MaxOvrdrv2
sorry,

objRegExp.Pattern = "[\w\-\.]+@[\w\-\.]+\.[a-zA-Z]{2,4},<?[\w\-\.]+@[\w\-\.]+\.[a-zA-Z]{2,4}>?"

or similar - depends what you are trying to parse

MaxOvrdrv2 - noticed it soon as I hit send, doh!