Быстрый вопрос: мне нужно разрешить входу принимать только буквы от a до z и от A до Z, но я не могу найти для этого никакого выражения. Я хочу использовать метод javascript test ().

35
yoda 19 Июн 2010 в 01:25

3 ответа

Лучший ответ
/^[a-zA-Z]+$/.test('sfjd')

Примечание. Если у вас есть знаки препинания или что-то еще, они тоже недействительны. Дефисы и подчеркивания недопустимы. \w охватывает a-zA-Z и некоторые другие символы слова. Все зависит от того, что конкретно вам нужно.

78
meder omuraliev 18 Июн 2010 в 21:27

Ответ, который принимает пустую строку:

/^[a-zA-Z]*$/.test('something')

* означает 0 или более вхождений предыдущего элемента.

0
Norman Lin 29 Июл 2020 в 07:59

Другой вариант - использовать флаг без учета регистра i, то нет необходимости в дополнительном диапазоне символов AZ.

var reg = /^[a-z]+$/i;
console.log( reg.test("somethingELSE") ); //true
console.log( "somethingELSE".match(reg)[0] ); //"somethingELSE"

Вот ДЕМО о том, как это регулярное выражение работает с test () и match ().

7
Shawn Moore 24 Июл 2016 в 00:32