Does this regex mean anything from "" to "99999" ?  How will the empty string be treated?  Why five 9s?  Why not allow MAX_INT or something?