Как работает метод test()?
Объясните пожалуйста как работает данный метод, уже часа 2 сижу не могу понять почему и как, есть функция:
document.write(validstr('user#'))
function validstr(str)
{
if (/[^a-zA-Z0-9]/.test(str)) {
return "Недопустимые символы"
}
return "Успешно"
}
почему в функции сработает условие if и она вернет строку "Недопустимые символы", хотя вот здесь ссылка написано метод возвращает true, если совпадения были найдены, но # нет в регулярном выражении и по моим соображениям функция должна вернуть false ?
Ответы (1 шт):
Автор решения: 1001001
→ Ссылка
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.

