检查字符是否是javascript中的字母数的最佳方法?

时间:2014-04-25 01:09:06

标签: javascript string

在javascript中最好的方法来检查一个字符(长度为1),是一个数字(即0,1,2,3,4,5,6,7,8,9)还是一个字母(即A)到Z,a到z)?

由于

5 个答案:

答案 0 :(得分:2)

我为你写了一点test case,至少对于数字检查功能。

考虑到所有函数都使用数字1或字符串'1'字面值返回true,使用Array似乎是最快的方法(至少在Chrome中)。

var isNumericChar = (function () {
    var arr = Array.apply(null, Array(10)).map(function () { return true; });
    return function (char) { return !!arr[char]; };
})();

但是,如果您接受1可能返回false,则switch语句会明显加快。

答案 1 :(得分:1)

为什么不:

function isNumber(i) {
    return (i >= '0' && i <= '9');
}

function isLetter(i) {
    return ((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z'));
}

答案 2 :(得分:0)

试试这个。

function validate_string() {

var str = "a"; //change to desired value;
var regX = new RegExp("([0-9A-Za-z])");
var ans = false;

if(str.length == 1) {
    ans = regX.test(str);    
}

return ans;

}

答案 3 :(得分:0)

也许尝试这样的事情

var certificate,resultValue = GetDefaultCertificateStoredOnTheCard();

此博客文章进一步阐明了此-u|--set-upstream-to

答案 4 :(得分:-1)

您可以检查变量的类型

function checkType(input){
     console.log(typeof input)
}


checkType(1234); //number

checkType('Hello') //string

以下是更新版本

function checkType(i){

var input = i.toString(); //将所有内容转换为字符串以在其上运行.lenght()

for(var i=0; i<input.length; ++i){
    if(input[i] >= '0' && input[i] <= '9'){
        console.log(input[i]+' is a number');
    }else if((input[i] >= 'a' && input[i] <= 'z') || (input[i] >= 'A' && input[i] <= 'Z')){
        console.log(input[i]+' is a letter');
    }
  }    
}

checkType('aa9fgg5')