<html>
<head>
<script>
function show(){
var base=document.getElementById('base').value
isPrime(base)?alert(base+' 是素数'):alert(base+' 不是素数')
}
function isPrime(number) {
if (number <2) {
return false
} else {
for (var j = 2j <= Math.sqrt(number)j++) {
if (number % j == 0) {
return false
}
}
}
return true
}
function filter(obj) {
var r = /^\d+$/
var r2 = /\D+/
if (!r.test(obj.value)) {
obj.value = obj.value.replace(r2, '')
}
}
function filter2(obj){
var r2 = /\D+/g
clipboardData.setData('text',clipboardData.getData('text').replace(r2,''))
}
</script>
</head>
<body style="font-size:12px">
数字<input type='input' id='base' onkeyup='filter(this)' onbeforepaste="filter2()"/>
<br>
<input type="button" value="素数?" onclick="show()">
</body>
</html>
代码如下:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>demo1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript">
function test() {
var n = parseInt(document.getElementById("number").value)
if (!n || n < 2) {
alert('请输入一个大于1的数字。')
return
}
if (isPrime(n)) {
document.getElementById("result").innerText = n +'是一个质数。'
} else {
document.getElementById("result").innerText = n +'不是一个质数。'
}
}
// 判断 number 是否是一个质数
function isPrime(number) {
if (number <= 1) {
return false
}
for (var i = 2 i < number i++) {
if (number % i == 0) {
return false
}
}
return true
}
</script>
</head>
<body>
<h2>判断一个数是否为质数</h2>
<input id="number" type="text" /><button onclick="test()">测试</button>
<br />
<div id="result"></div>
</body>
</html>
运行结果: