Я пытаюсь создать функцию javascript, которая проверяет, что только первая буква строки является заглавной, разрешены пробелы и нет чисел в строке. Я хочу сделать это с помощью регулярного выражения. Проблема в том, как я могу проверить, является ли только первая буква заглавной, а остальные - строчными. Вот мой код:
function upper_case(str)
{
regexp = /^[A-Z]/;
if (regexp.test(str))
{
console.info("String's first character is uppercase");
}
else
{
console.info("String's first character is not uppercase");
}
}
/^[A-Z][a-z\s]*$@Mohammad «... и в строке нет цифр»
@ K.Dᴀᴠɪs So /^[A-Z][^A-Z0-9]+$/
@Mohammad: Это соответствует A;,%*µ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете создать функцию, которая проверяет значение символа ASCII в первой позиции.
function checkFirstUpperCase(str) {
if (str.charCodeAt(0) >= 65 && str.charCodeAt(0) <= 91) {
return true;
}
return false;
}
Это должно сработать.
OP явно запрашивает регулярное выражение и имеет больше требований, чем только первый символ. «разрешены пробелы и нет чисел в строке» и «проверьте, является ли только первая буква заглавной, а остальные - строчными». К сожалению, они раскрыли не все правила (например, как насчет знаков препинания?), Из-за которых невозможно ответить.
Используйте
/^[A-Z][^A-Z]+$/