I think you're looking for a test() method instead!
match() is used to extract substrings from a given string.

function validate_phone(value,alerttxt){

        var re = /^\(\d{3}\)\d{3}-\d{4}$/;
        var ok = re.test($("input[name=unitContactPhoneNumber]").fieldValue
());

        alert(re + "\n" + (ok ? "match" : alerttxt));

        return ok;
}


btw, the "value" param isn't used anywhere... just in case you have
overlooked it ;-)

On Jun 12, 3:57 pm, John <jmcl...@birchrunsoccer.org> wrote:
> Good call.
>
> Here are my changes.
>
> function validate_phone(value,alerttxt){
>
>         var re = /^\(\d{3}\)\d{3}-\d{4}$/;
>         alert(re);
>
>         if( $('input[name=unitContactPhoneNumber]').fieldValue().match(/^\(\d
> {3}\)\d{3}-\d{4}$/) ){
>                 alert('match');
>                 return true;
>         }
>         else{
>                 alert(alerttxt);
>                 return false;
>         }
>
> }
>
> But when I check, the alert(re) fires but the other 'alerts' do not.
> It's like the .match() is not called.
>
> John
>
> On Jun 12, 9:48 am, Michael Lawson <mjlaw...@us.ibm.com> wrote:
>
> > Maybe I'm reading this wrong, but the regular expression you are using
> > looks like it returns a match on valid phone numbers?  If that is the case
> > why not
> > return true when it matches, false when it doesn't.  Ir just put a ! in
> > front of the match function
>
> > cheers
>
> > Michael Lawson
> > Development Lead, Global Solutions, ibm.com
> > Phone:  1-276-206-8393
> > E-mail:  mjlaw...@us.ibm.com
>
> > 'Examine my teachings critically, as a gold assayer would test gold. If you
> > find they make sense, conform to your experience, and don't harm yourself
> > or others, only then should you accept them.'
>
> >   From:       John <jmcl...@birchrunsoccer.org>                             
> >                                                      
>
> >   To:         "jQuery (English)" <jquery-en@googlegroups.com>               
> >                                                      
>
> >   Date:       06/12/2009 09:38 AM                                           
> >                                                      
>
> >   Subject:    [jQuery] Regular Expressions and jQuery                       
> >                                                      
>
> > Hello all,
> > I have some experience in Regular Expressions but this one has me
> > pulling my hair out.
>
> > I have a form with several input fields including a phone number
> > field.  I have a submit button that is linked to jquery form plugin.
> > My validation is checked on "beforeSubmit". ( i.e. beforeSubmit:
> > validateForm )
> > I've used validateForm() for other simple validation via javascript.
> > This time I'm using jQuery Form which shouldn't be and isn't a
> > problem.   My issue is in the validation of phone number.
>
> > Within validateForm is this...
>
> > function validateForm(formData, jqForm, options) {
>
> >               var queryString = $.param(formData);
> >               alert(queryString);
>
> >              // VALIDATE ENTIRE FORM
> >                          //phone
> >                          if (validate_phone($('input
> > [name=piResults]').fieldValue(), "Please
> > enter a valid phone number.") == false){
> >                                      phoneNum.focus();
> >                                      return false;
> >                          }
>
> > }
>
> > // VALIDATE PHONE NUMBER
> > function validate_phone(value,alerttxt){
>
> >              var re = /^\(\d{3}\)\d{3}-\d{4}$/;
>
> >              if( value.match(/^\(\d{3}\)\d{3}-\d{4}$/) ){
> >                          return false;
> >              }
> >              else{
> >                          return true;
> >              }
>
> > }
>
> > When validate_phone is called, the parameter "value" is correct. The
> > problem is the "match" is not checked.
> > Is there another way?
>
> > Thanks for any help.
>
> > J Mcleod
>
> >  graycol.gif
> > < 1KViewDownload
>
> >  ecblank.gif
> > < 1KViewDownload

Reply via email to