考虑一个需要检查给定字符串是否全部为大写字母的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);
}
正则表达式是最好的方式吗?
您将使用什么模式来确定字符串是否包含任何小写字母字符?
答案 0 :(得分:84)
function hasLowerCase(str) {
return str.toUpperCase() != str;
}
alert(hasLowerCase("HeLLO"));
alert(hasLowerCase("HELLO"));
答案 1 :(得分:29)
也:
function hasLowerCase(str) {
return (/[a-z]/.test(str));
}
答案 2 :(得分:5)
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;
}
答案 3 :(得分:0)
另一种解决方案仅将正则表达式与a-z匹配
function nameHere(str) {
return str.match(/[a-z]/);
}
或
function nameHere(str) {
return /[a-z]/g.test(str);
}