javascript test method not working as expected -



javascript test method not working as expected -

i have conditional logic based on os version no. in browser useragent string.

here code tried.

var useragent = "linux; u; android 2.2.1; en-gb; htc_desirez_a7272 build/frg83d"; if((/2.3/).test(useragent)){ alert("2"); } else if((/3./).test(useragent)){ alert("3"); } else if((/4./).test(useragent)){ alert("4"); } else { alert("5"); }

i alert 3.

i tried replacing test method indexof , alert 5.

can explain why (/3./).test(useragent) returns true?

you because regex /3./ means - match 3 , symbol behind it. have escape ..

for illustration seek /3\./, , respectively others: /2\.3/, /4\./.

your code should that:

var useragent = "linux; u; android 2.2.1; en-gb; htc_desirez_a7272 build/frg83d"; if ((/android 2\./).test(useragent)){ alert("2"); } else if((/android 3\./).test(useragent)){ alert("3"); } else if((/android 4\./).test(useragent)){ alert("4"); } else { alert("5"); }

javascript

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -