javascript - Number.isNaN 不适用于输入验证
问题描述
我有个问题。
input
当用户输入不是数字的内容时,我想显示一条警报“你有问题” 。
function function1() {
var x = document.getElementById("number1").value;
if (Number.isNaN(x)) {
alert("you have a problem");
}
}
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Mohsen Yeganeh</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<input type="text" id="number1">
<button type="submit" onclick="function1()">click me</button>
</body>
</html>
但是,它不起作用。它哪里出错了?
解决方案
Number.isNaN()
检查参数是否为NaN
,而不是是否为数字。
Number.isNaN(NaN) // true
Number.isNaN("Hello World!") // false, "Hello World!" != NaN
您应该isNaN()
改为使用它来检查参数是否为数字:
function function1() {
var x = document.getElementById("number1").value;
if (isNaN(x)) {
alert("you have a problem");
}
}
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Mohsen Yeganeh</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<input type="text" id="number1">
<button type="submit" onclick="function1()">click me</button>
</body>
</html>
推荐阅读
- javascript - addEventListener 在被点击之前执行
- c# - AnyStore1.exe 中出现“System.TypeInitializationException”类型的未处理异常
- oracle - %type 可以与 Object 类型一起使用吗?是否有可能是因为我在尝试这样做时遇到了错误
- android - Android Kotlin - 如何从另一个 Activity 调用 Activity 方法
- amazon-web-services - AWS boto3 - 调用 GetObject 操作时出现 InvalidToken 错误
- php - 将嵌套的 Json 发送到 Symfony 表单
- python - Python Try后不执行Except?
- javascript - 在 javascript 中更改时锚定目标到 iframe 不起作用(在新选项卡中打开)
- javascript - jQuery隐藏切换表单字段
- php - 谷歌浏览器显示等待缓存