Javascript函数,如果一个字母?

Javascript函数,如果一个字母?,javascript,letter,Javascript,Letter,因此,我希望为我的类编写一个名为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 }

因此,我希望为我的类编写一个名为
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))
不过,我不确定该怎么办,我尝试了一些不同的方法,如:

var isAlpha = function(ch){
    if (ch >= "A" && ch <= "z"){
        return true
    }

}
alert(isAlpha(ch))
var isAlpha=函数(ch){

如果(ch>=“A”&&ch您可以使用不区分大小写的:

如果您应该遵循有关大于和小于比较的注释中的说明,并且希望检查输入是否为长度为1的字符串,则:

var isAlpha=函数(ch){
返回类型ch==“string”&&ch.length==1

&&(ch>=“a”&&ch=“a”&&ch首先确保它是一个字符串,然后使用正则表达式

var isAlpha = function(ch){
  return typeof ch === "string" && ch.length === 1 && /[A-Za-z]/.test(ch);
}

如果您只需要一个字符:

var isAlpha = function(ch){
  return /^[A-Za-z]{1,1}$/.test(ch)
}
请注意,此处的
{1,1}
表示字符至少出现一次,最多出现一次。如果只测试一个字符,则可以删除此
{1,1}
,如果要测试多个字符,可以根据需要将其更新为
{n,m}

这是您的朋友

var isAlpha = function(ch){

     return ch.match(/[0-9]/) != null

}

您的问题是什么?您只需要精确地按照说明进行操作。请尝试使用带有匹配函数的正则表达式。@但您无法按照讲师提供的说明进行操作…“如果ch在任何编程语言中大于或等于“a”,则会将其翻译为
如果(ch>=“a”
…显然你需要完整的代码。我没有把它放在问题中,但我的指示说它必须接受大写和小写。据我所知,“A”的值比“A”低。但你没有理由这么粗鲁。
{1,1}
是多余的。我们还没有了解regex。所以我不确定我是否应该使用它们。当然,除非没有其他东西可以使用。也许我只是错过了那个类。但我已经想出了一些办法。var input=prompt(“输入字符”)var isAlpha=function(ch){if(ch>=“a”&&ch它只允许使用多个字符,所以我试图解决这个问题。@johntc121-你不需要正则表达式,这是最简单的方法。因此,对于你的作业,你应该坚持比较。请注意我在回答中所说的为什么
(ch>=“a”&&ch所以我必须将它改为(ch>=“a”&&ch=“a”&&ch如果在正则表达式中包含
^
$
,则不需要单独的类型和长度检查(至少,我不知道有任何非字符串值可以强制为单个字母字符)。为什么对无效数据返回false?为什么不抛出
TypeError
?@Sapphire_Brick短代码段,很少包含任何正确的错误处理,但重点是显示解决问题的路径的起点。答案的任务是帮助解决问题,而不是提供完整的生产级代码。除此之外,还有问题(我必须再次阅读,这已经超过三年了…)要求“如果是字母,则返回true;如果不是字母,则返回false”。从这个意义上说,“无效数据”是“不是字母”。从问题提供的代码中,调用像
isAlpha(数字)
,其中
数字
不是字符串。您应该使用
RegExp.prototype.test
string.prototype.match
在这里效率较低,因为解释器必须生成匹配对象。此外,您的RegExp只匹配数字。
var isAlpha = function(ch){

     return ch.match(/[0-9]/) != null

}