Регулярное выражение для только символов a-z, A-Z
Я не знаю, как создать регулярное выражение в JavaScript или jQuery.
Я хочу создать регулярное выражение, которое будет проверять, содержит ли строка только символы между a-z и A-Z с любой компоновкой.
ИЗМЕНИТЬ
Когда я попытался сделать regex
/^[a-zA-Z\s]+$/
чтобы принять белые пробелы. Это не работает. Что может быть ошибкой?
Я тестирую свое регулярное выражение на JavaScript RegExp Пример: Online Regular Expression Tester.
Ответы
Ответ 1
/^[a-zA-Z]*$/
Измените *
на +
, если вы не хотите разрешать пустые совпадения.
Ссылки:
Классы символов ([...]
), Якоря (^
и $
), Повторение (+
, *
)
/
являются просто разделителями, это означает начало и конец регулярного выражения. Одно из использования этого теперь можно использовать modifiers.
Ответ 2
В ответ на то, что говорят другие ответы, поскольку вы вообще не знаете, как это сделать, вот пример того, как вы можете сделать это в JavaScript:
var charactersOnly = "This contains only characters";
var nonCharacters = "This has [email protected]#*($()*@#$(*@%^_(#@!$ non-characters";
if (charactersOnly.search(/[^a-zA-Z]+/) === -1) {
alert("Only characters");
}
if (nonCharacters.search(/[^a-zA-Z]+/)) {
alert("There are non characters.");
}
/
запуск и окончание регулярного выражения означает, что это регулярное выражение. Функция search
принимает как строки, так и регулярные выражения, поэтому /
необходимо указать регулярное выражение.
Из MDN Docs функция возвращает -1
, если нет совпадения.
Также обратите внимание: это работает только для a-z, A-Z. Если есть пробелы, это не сработает.
Ответ 3
/^[a-zA-Z]+$/
Сверху моей головы.
Edit:
Или, если вам не нравится фантастический синтаксис, вы можете сделать это так:
new RegExp("^[a-zA-Z]+$");
Ответ 4
/[:alpha:]+/
Любой альфа-символ от A до Z или от a до z.
или
/^[[:alpha:]]+$/s
для соответствия строго с пробелами.