在javascript中检查字符是否为字母数的最佳方法?
在javascript中,检查字符(长度1)是数字(即0、1、2、3、4、5、6、7、8、9)还是字母(即a到Z、a到Z)的最佳方法是什么在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();//将所有内
谢谢您可以检查变量的类型
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;
}