检测变量是否包含字母或数字javascript

时间:2013-08-17 20:35:28

标签: javascript if-statement numbers character

我一直在互联网上寻找,但无法找到解决问题的正确方法。

我有两个使用输入。一个是年龄。另一个是姓名。

年龄必须是一个数字。名称必须是单词,仅包含字符。

if(age==number $$ name == characters){

    // do something

}else{

    // do something else

}

我试过了:

if(Math.floor(num) == num $$ Math.floor(name) != name){

    // do something

}else{

    // do something else

}

但是没有运气。

如果您知道怎么做,可以告诉我。非常感谢。

3 个答案:

答案 0 :(得分:2)

正则表达式解决方案可能是最简单的,因为无论如何你的输入都是字符串。

试试这个:

if (/^\d+$/.test(age) && /^\D+$/.test(name)) {...}

与上面发布的内容的主要区别在于^$;这些将确保字符串只包含 指定的字符,而不是包含至少一个字符。

答案 1 :(得分:1)

你可以这样做

if (+age==age && name!=+name) {

检查两个条件是否已经过验证:

  • 年龄严格包含数字
  • 名称不是数字

但是很难为名称定义严格的规则。这是我所在国家/地区的名称:"Dupé d'Egïe"

假设你只想接受名字“来自a-z和空格的信件”(这可能是一个坏主意),那么你可以做

if (+age==age && /^[a-z ]+$/.test(name)) {

要测试年龄是否仅包含数字且名称不包含数字,您可以

if (/^\d+$/.test(age) && /^\D+$/.test(name)) {

答案 2 :(得分:0)

你可以使用javascript函数parseInt(value),如果结果是NaN,那么它不是数字

if(parseInt("54")) {
    console.log("It's a number");
} else {
    console.log("It's not");
}