我有以下功能来查找包含数字和特殊字符的字符串,但无法正常工作

let validateStr = (stringToValidate) => {
var pattern = /^[a-zA-Z]*$/;
if (stringToValidate&& stringToValidate.length > 2 && pattern.test(stringToValidate))
    {
    return false;
} else {
    return true;
}
};
validateStr("123$%^$") // I need the above function should return false.
validateStr("sdsdsdsd$%^$") // true
validateStr("sdsdsdsd") // true
validateStr("sdsdsdsd45678") // false
validateStr("$#*()%^$")//false
validateStr("123434333")//false

最佳答案

您的RegEx应该是:

/[a-zA-Z]+[(@!#\$%\^\&*\)\(+=._-]{1,}/


请尝试以下方式:



let validateStr = (stringToValidate) => {
  var pattern = /[a-zA-Z]+[(@!#\$%\^\&*\)\(+=._-]{1,}/;
  if ( stringToValidate && stringToValidate.length > 2 && pattern.test(stringToValidate)) {
    return true;
  } else {
    return false;
  }
};
console.log(validateStr("123$%^$"));      //false
console.log(validateStr("sdsdsdsd$%^$")); //true
console.log(validateStr("sdsdsdsd45678"));//false
console.log(validateStr("$#*()%^$"));     //false
console.log(validateStr("123434333"));    //false

关于javascript - 如何在JavaScript中检查字符串中是否包含数字和特殊字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53931225/

10-11 23:47