js用正则判断一个字符串是否包含数字、字母、符号中的任意两种
时间: 2023-12-10 14:36:54 浏览: 72
可以使用正则表达式来实现该功能,以下是一个示例代码:
function checkString(str) {
// 包含数字、字母和符号的正则表达式
const reg = /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{0,}$/;
return reg.test(str);
}
// 测试
console.log(checkString('123')); // false
console.log(checkString('abc')); // false
console.log(checkString('&*')); // false
console.log(checkString('1a')); // true
console.log(checkString('a&')); // true
console.log(checkString('A1')); // true
console.log(checkString('a1#')); // true
上面的代码中,使用了正则表达式/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{0,}$/
来匹配包含数字、字母和符号的字符串。其中:
^
表示匹配字符串的开头;(?=.*[0-9])
表示必须包含至少一个数字;(?=.*[a-zA-Z])
表示必须包含至少一个字母;(?=.*[^a-zA-Z0-9])
表示必须包含至少一个符号;.{0,}
表示可以包含任意长度的字符;$
表示匹配字符串的结尾。
因此,当字符串符合以上条件时,正则表达式会返回true,否则返回false。
相关推荐















