Javascript 匹配单个字母或数字

Javascript 匹配单个字母或数字,javascript,regex,Javascript,Regex,这可能是一个简单的问题。 如果变量包含字母或数字,则需要进行匹配。以下内容不提供任何结果 var onechar = 1; if (onechar.match(/[0-9]/)) { alert ("A digit"); } else if (onechar.match(/[a-z]/)){ alert ("A letter"); } else { alert ("Not a digit or a letter"); } 感谢使用toString()方法转换为字符串并使

这可能是一个简单的问题。
如果变量包含字母或数字,则需要进行匹配。以下内容不提供任何结果

var onechar = 1;
if (onechar.match(/[0-9]/)) {
    alert ("A digit");
} else if (onechar.match(/[a-z]/)){
    alert ("A letter");
} else {
    alert ("Not a digit or a letter");
}
感谢使用toString()方法转换为字符串并使用正则表达式

var onechar = 1;
onechar  = onechar.toString();
if (onechar.match(/[0-9]/)) {
 alert ("A digit");
} else if (onechar.match(/[a-z]/)){ 
  alert ("A letter"); 
} else {
  alert ("Not a digit or a letter"); 
}

请注意,

如果操作正确,请尝试添加toString()函数。因此,代码如下所示:

var onechar = 1;
onechar = onechar.toString();
if (onechar.match(/[0-9]/)) {
    alert ("A digit");
} else if (onechar.match(/[a-z]/)){
    alert ("A letter");
} else {
    alert ("Not a digit or a letter");
}
除此之外,您还可以使用
\d
而不是
0-9


由于不使用ignore case,您应该使用
[a-zA-Z]
来匹配字母。

使用
test
进行此类检查更有效,它会自动调用
toString

var onechar = 1;
if ( /\d/.test(onechar) ) {
    alert ("A digit");
} else if ( /[a-z]/.test(onechar) ) {
    alert ("A letter");
} else {
    alert ("Not a digit or a letter");
}

这就是你想要的:

var onechar = 1;
console.log( !!( '' + onechar ).match( /\d|\w/g ) );
>> true

var onechar = 'foo';
console.log( !!( '' + onechar ).match( /\d|\w/g ) );
>> true

var onechar = '+-)(';
console.log( !!( '' + onechar ).match( /\d|\w/g ) );
>> false

由于没有其他答案解决“单个”字母或数字的情况

var onechar = "1"; // 1 is an integer, it wouldn't have a "match" function
if (onechar.match(/^[0-9]$/)) { // add ^ and $ to mark the beginning and end of the string
    alert ("A digit");
} else if (onechar.match(/^[a-z]$/i)){ // add /i for case insensitive match
    alert ("A letter");
} else {
    alert ("Not a digit or a letter");
}

onechar
是一个整数,而不是字符串。这与jQuery.Matches
\uu
(一个单词字符)没有任何关系。而且不需要
g
标志。它可以工作。谢谢你的解释。但是,我的下一个实现是接受onechar作为输入,而此解决方案不适合此扩展。