vb.net string contains only 4 digit numbers(or a year) -
how can check if string contains 4 digit numbers ( or year )
tried
dim rgx new regex("^/d{4}") dim number string = "0000" console.writeline(rgx.ismatch(number)) // true number = "000a" console.writeline(rgx.ismatch(number)) // false number = "000" console.writeline(rgx.ismatch(number)) //false number = "00000" console.writeline(rgx.ismatch(number)) // true <<< :(
this returns false when less 4 or @ characters not @ more 4
thanks!
i wouldn't use regex this. expression deceptively simple (^\d{4}$
), until realize need evaluate numeric value determine valid year range... unless want years 0013
or 9015
. you're going want value integer in end, anyway. given that, best validation try convert integer right off bat:
dim numbers() string = {"0000", "000a", "000", "00000"} each number string in numbers dim n integer if integer.tryparse(number, n) andalso number.length = 4 'it's number. @ other criteria end if next
Comments
Post a Comment