regex - Javascript RegExp.test allways returns true -


i create javascript regex test string accept characters 0 9, z, z , followings chars: + * . total length between 1 , 10 characters.

i did :

var reg = /[0-9a-za-z\+\*\.]{1,12}/; if(!reg.test($('#vat_id').val())) {     return false; } 

but doesn't seem work.

i tested on http://www.regular-expressions.info/javascriptexample.html, can input "$av" , returns me "successful match"

where mistake ?

edit : regex seems :

var reg = /^[0-9a-za-z\+\*\.]{1,10}$/; 

but why can't make work ?

see http://jsfiddle.net/r2wzt/

if don't "anchor" regular expression indicate matches should start @ beginning , end @ end of test string, taken mean want see if pattern can found anywhere in string.

var reg = /^[0-9a-za-z\+\*\.]{1,12}$/; 

with ^ @ beginning , $ @ end, indicate entire string must match pattern; is, no characters appear in string other contribute match.


Comments