Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中检查字符是否为字母数的最佳方法?_Javascript_String - Fatal编程技术网

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

在javascript中检查字符是否为字母数的最佳方法?,javascript,string,Javascript,String,在javascript中,检查字符(长度1)是数字(即0、1、2、3、4、5、6、7、8、9)还是字母(即a到Z、a到Z)的最佳方法是什么 谢谢您可以检查变量的类型 function checkType(input){ console.log(typeof input) } checkType(1234); //number checkType('Hello') //string 这是一个更新版本 功能检查类型(i){ var input=i.toString();//将所有内

在javascript中,检查字符(长度1)是数字(即0、1、2、3、4、5、6、7、8、9)还是字母(即a到Z、a到Z)的最佳方法是什么


谢谢

您可以检查变量的类型

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


checkType(1234); //number

checkType('Hello') //string
这是一个更新版本

功能检查类型(i){

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

for(变量i=0;i='0'&&input[i]='a'&&input[i]='a'&&input[i]为什么不:

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

function isLetter(i) {
    return ((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z'));
}
函数isNumber(i){
return(i>='0'&&i='a'&&i='a'&&i试试这个

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;

}
编辑:重构我的答案

function validateString(char) {
    let regx = new RegExp(/^[0-9A-Za-z]{1}$/g);
    return regx.test(char);    
}

validateString('4'); // true
validateString('as'); // false
validateString(''); // false
validateString(); // false
我为你写了一点,至少是数字检查函数

考虑到所有函数都返回true,无论是数字
1
还是字符串
'1'
文本,使用
数组
似乎是最快的方法(至少在Chrome中)


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

可以尝试类似的方法

 var sum = 0; //some value
 let num = parseInt(val); //or just Number.parseInt
 if(!isNaN(num)) {
     sum += num;
 }

这篇博文对这一点有了更多的说明

我认为OP中有一个可能是数字的字符,这是无法解决的。试试
checkType(“1234”)
你确实意识到,字母的这种有限定义将使你的软件很难国际化,可怜的汤姆·奥利里将永远无法输入他的名字。小心你的限制。也许吧?@JeremyJStarcher-你可能对这篇文章的意图有点了解。@JaredFarrish-我知道,这就是为什么我试图软化这个词用一个“小心”的“不要”来吹。这个角色是一个特殊的角色吗?还是总是一个数字和一个字母?
var isNumericChar = (function () {
    var arr = Array.apply(null, Array(10)).map(function () { return true; });
    return function (char) { return !!arr[char]; };
})();
 var sum = 0; //some value
 let num = parseInt(val); //or just Number.parseInt
 if(!isNaN(num)) {
     sum += num;
 }