Как работает метод test()?

Рейтинг: 0Ответов: 1Опубликовано: 05.06.2023

Объясните пожалуйста как работает данный метод, уже часа 2 сижу не могу понять почему и как, есть функция:

  document.write(validstr('user#'))
  function validstr(str)
 {
  if (/[^a-zA-Z0-9]/.test(str)) {
     return "Недопустимые символы"
 }
    return "Успешно"
 }

почему в функции сработает условие if и она вернет строку "Недопустимые символы", хотя вот здесь ссылка написано метод возвращает true, если совпадения были найдены, но # нет в регулярном выражении и по моим соображениям функция должна вернуть false ?

Ответы

▲ 1Принят
  function validstr(str)
 {
  if (/[^a-zA-Z0-9]/.test(str)) {
     return "Недопустимые символы"
 }
    return "Успешно"
 }
undefined
validstr("asdsad#")
'Недопустимые символы'
validstr('#')
'Недопустимые символы'
validstr("abcdefg")
'Успешно'

введите сюда описание изображения

Вроде правильно работает. Если символ не входит в диапазон a-z A-Z 0-9, то выдает недопустимый символ, т.е. срабатывает первый if.

введите сюда описание изображения

Источник