使用JS想要判断一个值是否为正整数,要怎么实现?
在javascript中可以使用test()方法,通过正则表达式来判断指定值是否为正整数;需要用到正则表达式:"/^+?[1-9][0-9]*$/"。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>检测正整数</title>
</head>
<script>
<!-- 判断是否为正整数-->
function fun() {
var value = document.getElementById("value").value;
var ele = document.getElementById("message");
ele.style.color = "red";
if(value == "") {
ele.innerHTML = "请输入内容";
} else {
var r = /^\+?[1-9][0-9]*$/;
if(r.test(value)) {
ele.style.color = "green";
ele.innerHTML = "是一个正整数";
} else {
ele.innerHTML = "不是正整数,请输入一个正整数";
}
}
}
</script>
<body>
<center>
<input type="text" id="value" style="width: 50px">
<input type="button" onclick="fun()" value="检测"><br><br>
<div id="message"></div>
</center>
</body>
</html>什么是正则表达式?
正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。
正则表达式主要用来验证客户端的输入数据。用户填写完表单单击按钮之后,表单就会被发送到服务器,在服务器端通常会用 PHP、ASP.NET 等服务器脚本对其进行进一步处理。因为客户端验证,可以节约大量的服务器端的系统资源,并且提供更好的用户体验。
如何创建正则表达式?
创建正则表达式和创建字符串类似,创建正则表达式提供了两种方法,一种是采用new运算符,另一个是采用字面量方式。
模式修饰符的可选参数含义
● i忽略大小写
● g全局匹配
● m多行匹配
1、new运算符
var box = new RegExp('Box', 'gi'); //第一个参数是模式字符串 //第二参数可选,模式修饰符示例:使用new运算符方式的test()匹配
var pattern = new RegExp('Box'); //创建正则模式
var str = 'box'; //创建要比对的字符串
alert(pattern.test(str)); //返回的是false,大小写不一致
var pattern = new RegExp('Box', 'i'); //创建正则模式,不区分大小写
var str = 'box'; //创建要比对的字符串
alert(pattern.test(str)); //通过test()方法验证是否匹配:true2、字面量方式
var box = /Box/; //使用字面量方式的正则 var box = /Box/ig; //字面量正则,带修饰符的
示例:使用字面量运算符方式的test()匹配:
var pattern = /Box/i; //创建正则模式,不区分大小写 var str = 'box'; alert(pattern.test(str)); //true
可以一句话使用test匹配
alert(/Box/i.test('box')); //true,一句话匹配 






网友评论文明上网理性发言 已有0人参与
发表评论: