Is that possible to pass variable into regular expression pattern string in jquery ( or javascript)? For example, I want to validate a zip code input field every time while user type in a character by passing variable i to the regular expression pattern. How to do it right?
 $('#zip').keyup( function(){ 
 var  i=$('#zip').val().length
 for ( i; i<=5; i++){   
            var pattern=/^[0-9]{i}$/;  
     if ( !pattern.test(   $('#zip').val()   )    )
                {$('#zip_error').css('display','inline');}   
     else
         {$('#zip_error').css('display','none');}
   }
 })
                Yes, you can, using the RegExp constructor:
var pattern = new RegExp("^[0-9]{"+i+"}$");
But... looking at your code seems that you want to ensure that the textbox contains only numbers, for that you can use a simple regex like this:
var pattern = /^[0-9]+$/;
The above pattern will only match a string composed by numbers, it will look for:
^
[0-9]
+
$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With