Я бы хотел проверить, есть ли в имени пользователя только латинские или кириллические буквы и пробелы (ни цифры, ни специальные символы).Совершенно очевидно, поэтому я написал очень простое регулярное выражение: /^[a-zA-Zа-яА-Я\s]+$/
, которое делает работу.Но недавно я читал о таких хитростях, как добавление \n
для проверки правильности.
Поэтому я переключился на: /\A[a-zA-Zа-яА-Я\s]+\z/
, что кажется безопасным, но теперь все тесты возвращают false
.
Я проверяю, используя JavaScript, и моя функция:
stringFormat.test(login)
Вывод из консоли Mozilla (чтобы сэкономить ваше время):
stringFormat = /\A[a-zA-Zа-яА-Я\s]+\z/
/\A[a-zA-Zа-яА-Я\s]+\z/
validateString(login, stringFormat)
false
login = "ol"
"ol"
validateString(login, stringFormat)
false
validateString(login, stringFormat)
false
stringFormat = /^[a-zA-Zа-яА-Я\s]+$/
/^[a-zA-Zа-яА-Я\s]+$/
validateString(login, stringFormat)
true
login = "ol345"
"ol345"
validateString(login, stringFormat)
false
validateString("hello", stringFormat)
true
stringFormat = /\A[a-zA-Zа-яА-Я\s]+\z/
/\A[a-zA-Zа-яА-Я\s]+\z/
validateString("hello", stringFormat)
false
stringFormat = /[a-zA-Zа-яА-Я\s]+/
/[a-zA-Zа-яА-Я\s]+/
validateString("hello", stringFormat)
true
login = "ol345"
"ol345"
validateString(login, stringFormat)
true
login = "345"
"345"
validateString(login, stringFormat)
false
stringFormat = /[a-zA-Zа-яА-Я\s]+\z/
/[a-zA-Zа-яА-Я\s]+\z/
login = "ol345"
"ol345"
validateString(login, stringFormat)
false
validateString("hello", stringFormat)
false
stringFormat = /[\Aa-zA-Zа-яА-Я\s\z]+/
/[\Aa-zA-Zа-яА-Я\s\z]+/
validateString("hello", stringFormat)
true
validateString(login, stringFormat)
true
stringFormat = /\A[a-z]{5}\z/
/\A[a-z]{5}\z/
validateString("hello", stringFormat)
false
validateString("heo", stringFormat)
false
Не могли бы вы мне помочь,пожалуйста