【问题标题】:Form validation datatype error in javascriptjavascript中的表单验证数据类型错误
【发布时间】:2019-03-06 20:21:06
【问题描述】:

我在所有情况下都得到 Login Done 并且这也将值视为字符串而不是数字 ....


function valid() {

  let value = document.getElementById('box').value;

  alert(typeof value)
  if (isNaN(value) || value < 1 || value > 20) {
    alert("Login Done")
  } else if (name = '') {
    alert("try agin")
  }
}

【问题讨论】:

    标签: javascript php jquery node.js reactjs


    【解决方案1】:

    否定isNaN(value) 检查。在比较之前也将其转换为数字以减少混淆

    function valid() {
    
      let value = document.getElementById('box').value;
      
      let parsedValue = isNaN(value) ? 1 : parseInt(value, 10);
      
      console.log(typeof value);
      console.log(typeof parsedValue);
      
      if (parsedValue < 1 || parsedValue > 20) {
        console.log("Login Done")
      } else {
        console.log("try agin")
      }
    }
    
    valid();
    
    document.getElementById('box').addEventListener('keyup', valid);
    &lt;input id="box" value="21" /&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多