`

Javascript获取界面数字做比较常见问题

 
阅读更多

开发中经常会遇到通过前台javascript对数字做比较的功能,常见的有,例如页面有两个数字X,Y,获取两个数字的值比较大小,如果X大于Y,do something else  do elsething。

 

常见问题是X为1000,Y为500,比较后程序返回1000<500,非常奇怪,原因就是javascript获取页面的值,如果直接做比较,是按照字符串顺序比较的,5的字符大于1,因此产生了500>1000的怪异现象,正确的做法是将值获取后转换为number后,在做比较。

 

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>javascript数字比较</title>
		<script type="text/javascript">
		    window.onload = function(){
		    	var num1 = document.getElementById("num1").value;		    	
		    	var num2 = document.getElementById("num2").value;

		    	document.getElementById("result1").innerHTML = (num1>num2);
		    	
		    	var num11 = (Number)(num1);
		    	var num21 = (Number)(num2);
		    	document.getElementById("result2").innerHTML = (num11>num21);

		    	var num3 = document.getElementById("num3").innerHTML;		    	
		    	var num4 = document.getElementById("num4").innerHTML;

		    	document.getElementById("result3").innerHTML = (num3>num4);
		    	
		    	
		    	var num31 = (Number)(num3);		    	
		    	var num41 = (Number)(num4);

		    	document.getElementById("result4").innerHTML = (num31>num41);
		    }
			
		</script>
	</head>
	<body>
		<h3>从页面获取数字比较大小</h3>
		
		<p>数字1 &nbsp;<input type="text" id="num1" value="1000"/></p>
		<p>数字2 &nbsp;<input type="text" id="num2" value="500"/><p>
		数字1大于数字2:<font color="red"><label id="result1"></label></font><br/><br/>
		数字1大于数字2(增加number转换):<font color="red"><label id="result2"></label></font>
		
		<p>数字3 &nbsp;<label id="num3">1000</label></p>
		<p>数字4 &nbsp;<label id="num4">500</label><p>
	             数字3大于数字4:<font color="red"><label id="result3"></label></font><br/><br/>
		数字3大于数字4(增加number转换):<font color="red"><label id="result4"></label></font>
		
	</body>
</html>

 

 

 

最终效果:



 

 

 

  • 大小: 11.6 KB
分享到:
评论

相关推荐

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘

    5.1.2 File类常见操作 93 5.2 数据流概述 97 5.3 字节流 99 5.3.1 使用类FileInputStream读文件 99 5.3.2 使用类FileOutputStream写文件 101 5.4 字符流 102 5.4.1 使用类FileReader读文件 103 5.4.2 使用类...

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

    本书中的秘诀演示了开发和测试人员在进行单元测试、回归测试或探索性测试的同时,如何去检查最常见的Web安全问题。与即兴的安全评估不同的是,这些秘诀是可重复的、简洁的、系统的——可以完美地集成到你的常规测试...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例267 解决SESSION中的常见问题 353 实例268 控制页面的访问权限 354 实例269 将SESSION数据存储到数据库中 355 实例270 SESSION更换聊天室界面 357 实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例267 解决SESSION中的常见问题 353 实例268 控制页面的访问权限 354 实例269 将SESSION数据存储到数据库中 355 实例270 SESSION更换聊天室界面 357 实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形...

    JAVA上百实例源码以及开源项目

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    JAVA上百实例源码以及开源项目源代码

    数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...

    java源码包---java 源码 大量 实例

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    java源码包2

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

    java源码包3

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

    java源码包4

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

    大名鼎鼎SWFUpload- Flash+JS 上传

     file_upload_limit : 10, 限定用户一次性最多上传多少个文件,在上传过程中,该数字会累加,如果设置为“0”,则表示没有限制  file_queue_limit : 2, 上传队列数量限制,该项通常不需设置,会根据file_upload_...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...

    PHP和MySQL Web开发第4版pdf以及源码

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    PHP和MySQL Web开发第4版

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    PHP和MySQL WEB开发(第4版)

    19.1.3 避免常见上载问题 19.2 使用目录函数 19.2.1 从目录读取 19.2.2 获得当前目录的信息 19.2.3 创建和删除目录 19.3 与文件系统的交互 19.3.1 获取文件信息 19.3.2 更改文件属性 19.3.3 创建、删除和移动文件 ...

    Eclipse_Swt_Jface_核心应用_部分19

    2.2 直接获取SWT工具包 16 2.3 下载和安装Visual Editor 17 2.3.1 Visual Editor的下载 17 2.3.2 Visual Editor的安装 18 2.4 第一个SWT程序 19 2.4.1 创建SWT程序 19 2.4.2 编译和运行程序 20 2.5 本...

Global site tag (gtag.js) - Google Analytics