简体   繁体   English

数字验证javascript不起作用

[英]Number validation javascript doesn't work

my telephone number validation doesn't work and I don't know why. 我的电话号码验证不起作用,我也不知道为什么。 Submit should be active when number length is 9 or 10,in other case submit should be disabled.Here's the code 当数字长度为9或10时,提交应处于活动状态,否则应禁用提交。这是代码

HTML body: HTML正文:

<body>
<input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false">
<input type="submit" value="Send" class="example" id="przycisk">
    <script src="script.js"></script>
</body>

JS JS

var numertell = document.getElementById("numertel");
var numerlength =  numertell.value.length;
if(numerlength==10 && numerlength==9)
  document.getElementById("przycisk").disabled=false;
else
  document.getElementById("przycisk").disabled=true;

Submit should be active when number length is 9 or 10,in other case submit should be disabled 当数字长度为9或10时,提交应处于活动状态,否则应禁用提交

Your problem is this line 你的问题是这条线

if(numerlength==10 && numerlength==9)

replace && with || ||替换&& since numerlength can't be 9 and 10 at the same time . 因为numerlength 不能同时为9和10 Check this doc to know more about logical operators. 查看此文档以了解有关逻辑运算符的更多信息。

if( numerlength== 10 || numerlength==9 )

Edit 编辑

You need to invoke the code share above when the value of textbox changes. 当文本框的值更改时,您需要调用上面的代码共享。 I have shared an example with keyup event. 我已经与keyup事件分享了一个示例。

Demo 演示版

 document.getElementById("przycisk").disabled = true; document.getElementById("numertel").addEventListener("keyup", function() { var numerlength = this.value.length; //console.log( numerlength ); if (numerlength == 10 || numerlength == 9) document.getElementById("przycisk").disabled = false; else document.getElementById("przycisk").disabled = true; }); 
 <input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false"> <input type="submit" value="Send" class="example" id="przycisk"> 

Try this.... 尝试这个....

 function check_value() { var numertell = document.getElementById("numertel"); var numerlength = numertell.value.length; if(numerlength == 10 || numerlength ==9) document.getElementById("przycisk").disabled=false; else document.getElementById("przycisk").disabled=true; } 
 <body> <input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="9000000000" aria-invalid="false" onblur = "check_value();"> <input type="submit" value="Send" class="example" id="przycisk"> <script src="script.js"></script> </body> 

You should also put that condition inside input event, and assign new numertell value inside that event, like this: 您还应该将该条件放入输入事件中,并在该事件中分配新的numertell值,如下所示:

 var numertell = document.getElementById("numertel"); var numerlength = numertell.value.length; if (numerlength === 10 || numerlength === 9) document.getElementById("przycisk").disabled = false; else document.getElementById("przycisk").disabled = true; numertell.addEventListener('input', function(evt) { numerlength = numertell.value.length; if (numerlength === 10 || numerlength === 9) document.getElementById("przycisk").disabled = false; else document.getElementById("przycisk").disabled = true; }); 
 <body> <input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false"> <input type="submit" value="Send" class="example" id="przycisk"> <script src="script.js"></script> </body> 

html >>> html >>>

<body>
<input type="number" name="number-189" value="1234" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false" onkeydown="myFunction()">
<input type="submit" value="Send" class="example" id="przycisk" >
    <script src="script.js"></script>
</body>

javascript >>> javascript >>>

$(document).ready(function(){
 myFunction();
});
function myFunction() {
     var numertell = document.getElementById("numertel");
  var numerlength =  numertell.value.length;
  if(numerlength==10 || numerlength==9)
    document.getElementById("przycisk").disabled=false;
  else
   document.getElementById("przycisk").disabled=true;
}

Please try 请试试

if(numerlength === 10 || numerlength === 9) . if(numerlength === 10 || numerlength === 9)

|| is an operator for 'OR' operation in Javascript. 是Java语言中“或”操作的运算符。 Also for comparison should use === rather than == . 为了进行比较,还应使用===而不是==

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM