可以使用isNaN判斷輸入值的合法性
<!DOCTYPE HTML>
<html>
<head>
? ? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
? ? <title>無標(biāo)題文檔</title>
</head>
<body>
? ? <div style="box-shadow:2px 2px 11px purple;padding:20px;">
? ? ? 請(qǐng)選擇你愛好:<br>
? ? ? <input type="checkbox" name="hobby" id="hobby1"> ?音樂
? ? ? <input type="checkbox" name="hobby" id="hobby2"> ?登山
? ? ? <input type="checkbox" name="hobby" id="hobby3"> ?游泳
? ? ? <input type="checkbox" name="hobby" id="hobby4"> ?閱讀
? ? ? <input type="checkbox" name="hobby" id="hobby5"> ?打球
? ? ? <input type="checkbox" name="hobby" id="hobby6"> ?跑步 <br>
? ? ? <input type="button" value = "全選" onclick = "checkall();">
? ? ? <input type="button" value = "全不選" onclick = "clearall();">
? ? ? <p>請(qǐng)輸入您要選擇愛好的序號(hào),序號(hào)為1-6:</p>
? ? ? <input id="wb" name="wb" type="text" >
? ? ? <input name="ok" type="button" value="確定" onclick = "checkone();">
? ? </div>
<script>
function checkall(){ // 全選
// 使用getElementsByTagName()獲得復(fù)選框節(jié)點(diǎn)集
var hobby = document.getElementsByTagName("input");
for(let i=0;i<hobby.length;i++){
hobby[i].checked=true;
}
}
function clearall(){ // 全不選
// 使用getElementsByName()獲得復(fù)選框節(jié)點(diǎn)集
var hobby=document.getElementsByName("hobby");
for(let i=0;i<hobby.length;i++){
hobby[i].checked=false;
}
}
function checkone(){ // 只選一個(gè)
clearall(); // 先清空
var hobby=document.getElementsByName("hobby");
// 使用getElementById()獲得輸入框ID,并轉(zhuǎn)換為數(shù)字
var j=parseInt(document.getElementById("wb").value);
//alert(typeof(j));用于測試文本框值的類型
// 判斷輸入值是否合法
if(!isNaN(j)&&j<=6&&j>=1){
hobby[j-1].checked=true;
}else{
alert("非法數(shù)字,請(qǐng)重新輸入!");
document.getElementById("wb").value="";
}
}
</script>
</body>
</html>
2019-09-29
這里isNaN是單純?yōu)榱伺袛嗍遣皇菫閿?shù)字嘛?那,你輸入英文,他也不存在大于小于關(guān)系,會(huì)不會(huì)也可以非法鴨