自学内容网 自学内容网

js判断 字符包含 数字 字母 特殊符号 不可包含中文

可以使用正则表达式来检查字符串是否包含数字、字母和特殊符号,同时不包含中文字符。以下是一个示例函数,它返回一个布尔值,表示字符串是否符合条件:

function containsAlphanumericSpecial(str) {
    // 正则表达式:包含数字、字母、特殊符号,但不包含中文
    const regex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[-!#$%&'()*+,./:;<=>?@[]^_`{|}~])(?!.*[\u4e00-\u9fa5]).+$/;
    return regex.test(str);
}
 
// 示例
console.log(containsAlphanumericSpecial('abc!123')); // true
console.log(containsAlphanumericSpecial('abc!123?')); // true
console.log(containsAlphanumericSpecial('abc!123?中')); // false
console.log(containsAlphanumericSpecial('abc中!123?')); // false
console.log(containsAlphanumericSpecial('123!@#')); // true
console.log(containsAlphanumericSpecial('123!@#中')); // false
console.log(containsAlphanumericSpecial('abc中!@#123')); // false

这个正则表达式的组成部分解释如下:

  • ^ 和 $ 分别指定字符串的开始和结束。

  • (?=.*[A-Za-z]) 确保字符串中至少包含一个字母。

  • (?=.*\d) 确保字符串中至少包含一个数字。

  • (?=.*[-!#$%&'()*+,./:;<=>?@[]^_{|}~])` 确保字符串中至少包含一个特殊符号。

  • (?!.*[\u4e00-\u9fa5]) 确保字符串中不包含中文字符。

  • .+ 匹配任意字符,至少一次。

如果字符串符合条件,test 方法将返回 true;如果不符合,将返回 false


function checkString(str) {
  // 检查是否包含数字
  var hasNumber = /\d/.test(str);
  
  // 检查是否包含特殊字符
  var hasSpecialChar = /[!@#$%^&*(),.?":{}|<>]/.test(str);
  
  if (hasNumber && hasSpecialChar) {
    console.log("字符串中包含数字和特殊字符");
  } else if (hasNumber) {
    console.log("字符串中只包含数字");
  } else if (hasSpecialChar) {
    console.log("字符串中只包含特殊字符");
  } else {
    console.log("字符串中不包含数字和特殊字符");
  }
}

// 示例用法
checkString("Hello123!"); // 字符串中包含数字和特殊字符
checkString("Hello123"); // 字符串中只包含数字
checkString("Hello!"); // 字符串中只包含特殊字符
checkString("Hello"); // 字符串中不包含数字和特殊字符


原文地址:https://blog.csdn.net/djk8888/article/details/142952091

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!