Как проверить, есть ли в строке число и специальные символы в JavaScript? - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть функция ниже, чтобы найти строку, содержащую цифры и специальные символы, но она не работала

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

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Вы можете использовать этот код для отслеживания числа и специальных символов в строковом значении.

 function checkNumberOrSpecialCharacters(stringValue){

    if( /[^a-zA-Z\-\/]/.test( stringValue) ) {
        alert('Input is not alphabetic');
        return false;
    }
 alert('Input is alphabetic');
    return true;     
}
0 голосов
/ 26 декабря 2018

Ваш 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...