【问题标题】:Number.isNaN not working for input validation [closed]Number.isNaN 不适用于输入验证[关闭]
【发布时间】:2021-08-05 16:43:48
【问题描述】:
我有问题。
当用户在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>
但是,它不起作用。哪里出错了?
【问题讨论】:
标签:
javascript
html
css
function
numbers
【解决方案1】:
Number.isNaN() 检查参数是否为NaN,not 是否为数字。
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>