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
RegExpconstructor: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:
The above pattern will only match a string composed by numbers, it will look for:
^[0-9]+$