Подтвердить что ты не робот

JavaScript - проверка любых строчных букв в строке

Рассмотрим метод JavaScript, который должен проверить, есть ли данная строка во всех заглавных буквах. Строки ввода - это имена людей.

Текущий алгоритм должен проверять любые строчные буквы.

var check1 = "Jack Spratt";    
var check2 = "BARBARA FOO-BAR"; 
var check3 = "JASON D'WIDGET";  

var isUpper1 = HasLowercaseCharacters(check1);  
var isUpper2 = HasLowercaseCharacters(check2);
var isUpper3 = HasLowercaseCharacters(check3);

function HasLowercaseCharacters(string input)
{
    //pattern for finding whether any lowercase alpha characters exist
    var allLowercase; 

    return allLowercase.test(input);
}

Является ли регулярное выражение лучшим способом для перехода сюда?

Какой шаблон вы использовали бы, чтобы определить, имеет ли строка какие-либо строчные альфа-символы?

4b9b3361

Ответ 1

и

function hasLowerCase(str) {
    return (/[a-z]/.test(str));
}

Ответ 2

function hasLowerCase(str) {
    return str.toUpperCase() != str;
}

alert(hasLowerCase("HeLLO"));
alert(hasLowerCase("HELLO"));

Попробуйте: http://jsfiddle.net/B2bvY/3/

Ответ 3

function hasLowerCase(str) {
    return str.toUpperCase() != str;
}

или

function hasLowerCase(str) {
    for(x=0;x<str.length;x++)
        if(str.charAt(x) >= 'a' && str.charAt(x) <= 'z')
            return true;
    return false;
}

Ответ 4

Другое решение только соответствует регулярному выражению для a-z

function nameHere(str) {
    return str.match(/[a-z]/);
}

или

 function nameHere(str) {
        return /[a-z]/g.test(str);
    }

Ответ 5

Но в каком контексте вы используете script? Вы просто показываете пользовательский ввод, например prompt()? Вы можете просто заставить желаемый результат.

var inpt = prompt("Enter your name: ", "");
var uc = inpt.charAt(0);
var lc = inpt.slice(1);
var str1 = uc.toUpperCase();
var str2 = lc.toLowerCase();
var str = str1 + str2;
document.write(str);

В зависимости от вашего использования это может быть не тот, который нужно выбрать... однако, если все, что вы пытаетесь сделать, это отобразить пользовательский ввод, этот простой способ может сработать для вас.