Javascript number regex test failing - can't figure out why -


here's jsfiddle: jsfiddle

relevant code:

var number = /\d+(.\d+)?/g;  $('body').append(number.test(2.5) + "<br>"); $('body').append(number.test(20) + "<br>"); $('body').append(number.test(2) + "<br>"); 

output

true false true 

get rid of g. it's not needed, , causes regex fail because regexp object keeps track of position based on previous match: https://developer.mozilla.org/en-us/docs/javascript/reference/global_objects/regexp/test

as exec (or in combination it), test called multiple times on same global regular expression instance advance past previous match.

http://jsfiddle.net/bupyd/1/


Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -