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/
Kevin Lynch
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;
}
来源:https://stackoverflow.com/questions/24094731/how-to-check-if-the-value-in-a-text-box-is-prime-or-not-with-jquery