所以我想为我的类写一个函数,它的标题isAlpha是接受一个字符(最好是一个长度为1的字符串),如果是一个字母则返回true,如果不是则返回false.
问题是我完全被困在哪里去了.这是教师在课堂上给出的例子:
var isAlpha = function(ch){
//if ch is greater than or equal to "a" AND
// ch is less than or equal to "z" then it is alphabetic
}
var ltr ="a", digit =7;
alert(isAlpha(ltr));
alert(isAlpha(digit))
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办,我尝试了一些不同的东西,比如:
var isAlpha = function(ch){
if (ch >= "A" && ch <= "z"){
return true
}
}
alert(isAlpha(ch))
Run Code Online (Sandbox Code Playgroud)
任何人都能指出我如何开始这个功能的正确方向?
nnn*_*nnn 10
您可以使用不区分大小写的正则表达式:
var isAlpha = function(ch){
return /^[A-Z]$/i.test(ch);
}
Run Code Online (Sandbox Code Playgroud)
如果您应该遵循评论中关于大于和小于比较的说明,并且您想要检查输入是长度为1的字符串,那么:
var isAlpha = function(ch){
return typeof ch === "string" && ch.length === 1
&& (ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z");
}
console.log(isAlpha("A")); // true
console.log(isAlpha("a")); // true
console.log(isAlpha("[")); // false
console.log(isAlpha("1")); // false
console.log(isAlpha("ABC")); // false because it is more than one characterRun Code Online (Sandbox Code Playgroud)
你会注意到我没有使用if声明.那是因为表达式的ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z"计算结果是true或者false,所以你可以直接得到return那个值.
您尝试过的内容if (ch >= "A" && ch <= "z")不起作用,因为大写"A"和小写"z"之间的字符范围不仅包括字母,还包括"Z"和"a"之间的其他字符.
| 归档时间: |
|
| 查看次数: |
10708 次 |
| 最近记录: |