Javascript isNaN似乎工作不正常
有人能告诉我为什么下面的代码不能工作,并提供一个可能的修复。当按下按钮时,我希望它根据用户是否在输入字段中输入了数字显示正确或不正确 HTML:Javascript isNaN似乎工作不正常,javascript,html,if-statement,Javascript,Html,If Statement,有人能告诉我为什么下面的代码不能工作,并提供一个可能的修复。当按下按钮时,我希望它根据用户是否在输入字段中输入了数字显示正确或不正确 HTML: isNAN( 如果您不喜欢使用jQuery,而只使用javascript,那么您可以如下使用:isNan(parseInt())或isNan(parseFLoat()) isNumber=功能(obj){ 如果(!isNaN(parseInt(obj))){ //这是一个数字 返回true; } 否则返回false; } var-num=14; va
isNAN(
如果您不喜欢使用jQuery,而只使用javascript,那么您可以如下使用:isNan(parseInt())
或isNan(parseFLoat())
isNumber=功能(obj){
如果(!isNaN(parseInt(obj))){
//这是一个数字
返回true;
}
否则返回false;
}
var-num=14;
var textnum='14';
var text='yo';
var-nan=nan;
var DOM=document.getElementById(“demo”).innerHTML;
document.getElementById(“demo”).innerHTML=isNumber(textnum,true);
伊斯南(
如果您不喜欢使用jQuery,而只使用javascript,那么您可以如下使用:isNan(parseInt())
或isNan(parseFLoat())
isNumber=功能(obj){
如果(!isNaN(parseInt(obj))){
//这是一个数字
返回true;
}
否则返回false;
}
var-num=14;
var textnum='14';
var text='yo';
var-nan=nan;
var DOM=document.getElementById(“demo”).innerHTML;
document.getElementById(“demo”).innerHTML=isNumber(textnum,true);
问题在于checkPeople
函数中的变量name
没有链接到html中的输入标记。您需要在checkPeople
函数中获取输入标记的值。我提供了以下工作代码:
功能检查人员(){
var name=document.getElementById('myinput')。值;
如果(isNaN(姓名)){
name=“不正确”
}
否则{
name=“正确”
}
document.getElementById('message').innerHTML=name;
}
输入名称:
检查
问题在于checkPeople
函数中的变量name
没有链接到html中的输入标记。您需要在checkPeople
函数中获取输入标记的值。我提供了以下工作代码:
功能检查人员(){
var name=document.getElementById('myinput')。值;
如果(isNaN(姓名)){
name=“不正确”
}
否则{
name=“正确”
}
document.getElementById('message').innerHTML=name;
}
输入名称:
检查
isNaN()在数据不是数字时返回true
功能检查人员(){
var name=document.getElementById('myinput')。值;
如果(isNaN(姓名)){
name=“正确”
}
否则{
name=“不正确”
}
document.getElementById('message').innerHTML=name;
}
输入名称:
检查
isNaN()在数据不是数字时返回true
功能检查人员(){
var name=document.getElementById('myinput')。值;
如果(isNaN(姓名)){
name=“正确”
}
否则{
name=“不正确”
}
document.getElementById('message').innerHTML=name;
}
输入名称:
检查
首先isNaN
代表不是一个数字
,因此
isNaN(12234) //will be false
当
isNaN("jsjsjw")// will return true.
所以代码中的条件应该颠倒过来,也就是说,如果你不想让你的名字是数字的话
其次,您的代码没有连接您的输入,您需要在js中检查输入之前从输入中获取值
function checkpeople() {
var name = document.getElementById('myinput').value;
if (isNaN(name)) {
name = "correct"
}
else {
name = "incorrect"
}
document.getElementById('message').innerHTML = name;
首先,isNaN
代表不是一个数字,因此
isNaN(12234) //will be false
当
isNaN("jsjsjw")// will return true.
所以代码中的条件应该颠倒过来,也就是说,如果你不想让你的名字是数字的话
其次,您的代码没有连接您的输入,您需要在js中检查输入之前从输入中获取值
function checkpeople() {
var name = document.getElementById('myinput').value;
if (isNaN(name)) {
name = "correct"
}
else {
name = "incorrect"
}
document.getElementById('message').innerHTML = name;
使用。它比伊斯南好多了
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger('10'); // false
以下是isNaN
document.write(isNaN("")) // false
document.write(isNaN(" ")) // false
document.write(isNaN(0)) // false
document.write(isNaN(null)) // false
document.write(isNaN(false)) // false
document.write("" == false) // true
document.write("" == 0) // true
document.write(" " == 0) // true
document.write(" " == false) // true
document.write(0 == false) // true
document.write(" " == "") // false
如果您需要Internet explorer支持,可以使用polyfills
尽可能多地使用本机JavaScript。您可以通过JavaScript获得更多的学习曲线,也可以减少对任何其他框架的依赖。使用。它比isNaN好得多
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger('10'); // false
以下是isNaN
document.write(isNaN("")) // false
document.write(isNaN(" ")) // false
document.write(isNaN(0)) // false
document.write(isNaN(null)) // false
document.write(isNaN(false)) // false
document.write("" == false) // true
document.write("" == 0) // true
document.write(" " == 0) // true
document.write(" " == false) // true
document.write(0 == false) // true
document.write(" " == "") // false
如果您需要Internet explorer支持,可以使用polyfills
尽可能多地使用本机JavaScript。您可以通过JavaScript获得更多的学习曲线,也可以减少与任何其他框架的依赖性。您没有从文本框中选择输入的值,而只是比较一个空字符串
var name = "";
if (isNaN(name)) {
以下是工作示例:
功能检查人员(){
//更改了变量名,因为已经定义了全局变量,即`window.name`
var name_u2;=document.getElementsByName(“名称”)[0]。值;
if(!name| | isNaN(name|)){//if不是空的,不是数字
name=“不正确”
}否则{
name=“正确”
}
document.getElementById('message').innerHTML=name;
}
输入名称:
检查
您没有从文本框中选择输入的值,而只是比较一个空白字符串
var name = "";
if (isNaN(name)) {
以下是工作示例:
功能检查人员(){
//更改了变量名,因为已经定义了全局变量,即`window.name`
var name_u2;=document.getElementsByName(“名称”)[0]。值;
if(!name| | isNaN(name|)){//if不是空的,不是数字
name=“不正确”
}否则{
name=“正确”
}
document.getElementById('message').innerHTML=name;
}
输入名称:
检查
传递给isNaN()
的参数始终是name
变量中的空字符串,而不是用户输入的值,因此您的函数将始终显示“correct”
。除了使用的.value
属性外,您可以通过与为输出元素设置.innerHTML
类似的方式从输入中获取值