前端 如何写 正则 长度为8~14个字符不允许有空格、中文字母数字以及标点符号至少包含2种
可以使用以下正则表达式:
/^(?=.\d)(?=.[a-zA-Z])(?=.*[^\da-zA-Z]).{8,14}$/
解释:
^:匹配字符串的开始 (?=.\d):匹配任意数字,且至少出现一次 (?=.[a-zA-Z]):匹配任意字母,且至少出现一次 (?=.*[^\da-zA-Z]):匹配除数字和字母外的任意字符,且至少出现一次 .{8,14}:匹配任意字符,长度为8到14个字符 $:匹配字符串的结束
完整代码示例:
const regex = /^(?=.\d)(?=.[a-zA-Z])(?=.*[^\da-zA-Z]).{8,14}$/; const input = "Abcd1234"; // 长度为8~14个字符,不允许有空格、中文,字母/数字以及标点符号至少包含2种 const isValid = regex.test(input); console.log(isValid); // true
原文地址: http://www.cveoy.top/t/topic/bt8W 著作权归作者所有。请勿转载和采集!