[A-Z0-9 ,"&-'] #### /^[A-Z0-9 ,"&-']{4,16}$/ #### # Please excuse the long line ;) /^[A-Z0-9 ,"&-'][A-Z0-9 ,"&-'][A-Z0-9 ,"&-'][A-Z0-9 ,"&-'][A-Z0-9 ,"&-']?[A-Z0-9 ,"&-']? ... repeat total 12 times ... [A-Z0-9 ,"&-']?$/ #### # The set for the characters gets changed : [A-Za-z0-9 ,"&-'] # and the RE then looks like this : /^[A-Za-z0-9 ,"&-']{4,16}$/ # and we can modify the RE, so that A-Z also matches # a-z with the "i"-modifyer : /^[A-Z0-9 ,"&-']{4,16}$/i # or equivalent /^[a-z0-9 ,"&-']{4,16}$/i