var p = /(?!^\d+$)(?!^[a-zA-Z]+$)[0-9a-zA-Z]{4,23}/(?!^\d+$) 排除全数字(?!^[a-zA-Z]+$) 排除全字母[0-9a-zA-Z]{4,23} 字符或字母4-23位,不考虑全为数字和全为字符情况。
[\dA-D]{3,12}表示长度是3~12个字符的字串,中间只有数字或A~D,如果要求必须字母在首位,可以[A-D][A-D\d]{2,11}