How to check if the value in a text box is prime or not with jQuery

怎甘沉沦 提交于 2019-11-28 02:15:06

问题


I am trying to determine whether the value in a text box is prime or not using jQuery.

Here is what I've tried so far, but it's not working:

$("#textbx").keyup(function(){
 if ($("#textbx").val().length > 0) {
	  $("#btn").removeAttr('disabled');
 
   }
});

 $("#textbx").blur(function(){
    if ($("#textbx").val().length ==0) {
	  $("#btn").attr('disabled','disabled');
 
   }
  });
 
 $("#textbx").keypress(function (e) {
     if (e.which!=8 && (e.which < 48 || e.which > 57)) {
        $("#msg").html("plz press nimber only").show().fadeOut("slow");
               return false;
    }
   });
 
  $("#btn").click(function(){
						  
   var num =parseInt($("#textbx").val()); 
   var i;

   for (var i = 2; i >num/2; i++) { 
   
        if(i%num==0)
		{ $("#msg").html("yupp").show().fadeOut("slow");
		}
		else
		{$("#msg").html("huh").show().fadeOut("slow");
		}
		break;
       }
  });
#msg
{
    color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input id="textbx" type="text" /><button id="btn" disabled="disabled">go</button>
 <span id="msg"></span>

JSFiddle version: http://jsfiddle.net/akash4pj/72FtQ/


回答1:


Here is your code slightly modified

DEMO http://jsfiddle.net/72FtQ/1/

function isPrime(n) {

   // If n is less than 2 or not an integer then by definition cannot be prime.
   if (n < 2) {return false}
   if (n != Math.round(n)) {return false}

   // Now check every whole number from 2 to the square root of n. If any of these divides n exactly, n cannot be prime.
   for (var i = 2; i <= Math.sqrt(n); i++) {
      if (n % i == 0) {return false}
   }

   // If n%i was never == 0 above, then n must be prime
   return true;

}

SOURCE http://studymaths.co.uk/topics/checkIfPrime.php



来源:https://stackoverflow.com/questions/24094731/how-to-check-if-the-value-in-a-text-box-is-prime-or-not-with-jquery

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!