计算器介绍:只能进行加减乘除,提示用户输入数字,正则表达式限制用户只能输入数字(在用户输入时限制),如果出现除零操作答案为0;

有两种针对不同运算符的解决方法:

  1. 使用eval() 函数 //函数参考http://www.w3school.com.cn/jsref/jsref_eval.asp

    result=eval(num1+op+num2) //可以不用考虑操作符,要对 除零 操作特别的处理下即可。

  【特别说一下,在php中出现eval()要特别注意(一句话木马),更多信息自行Google。】

  2.使用switch进行比对,见代码。

 <!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>2014***'s web site homework</title>
<script type="text/javascript">
function calculator(){
var nums = document.getElementsByName("num");
var op = document.getElementsByName("op");
var result = document.getElementsByName("rs");
var n1 = parseFloat(nums[0].value);
var n2 = parseFloat(nums[1].value);
switch(op[0].value){
case "add" : result[0].value = n1 + n2 ;break;
case "min" : result[0].value = n1 - n2 ;break;
case "mul" : result[0].value = n1 * n2 ;break;
case "div" : result[0].value = (n2==0?0:n1/n2); break;
}
}
</script>
</head> <body>
<input type="text" name="num" onclick="if(this.value == '请输入要计算的第一个数字')this.value =' ';" value="请输入要计算的第一个数字" onkeyup="value=value.replace(/[^\d]/g,'') " />
<select name="op" size="1">
<option value="add">+</option>
<option value="min">-</option>
<option value="mul">*</option>
<option value="div">/</option>
</select>
<input type="text" name="num" onclick="if(this.value == '请输入要计算的第二个数字')this.value =' ';" value="请输入要计算的第二个数字" onkeyup="value=value.replace(/[^\d]/g,'') " />
<input type="submit" onclick="calculator()" value="=" />
<input type="text" name="rs" value="这里显示您的结果" disabled/>
</body>
</html>

Javascript+Dom(加减乘除计算器)的更多相关文章

  1. 纯javascript代码编写计算器程序

    今天来分享一下用纯javascript代码编写的一个计算器程序,很多行业都能用到这个程序,例如做装修预算.贷款利率等等. 首先来看一下完成后的效果: 具体代码如下:(关注我的博客,及时获取最新WEB前 ...

  2. Javascript + Dom知识点总结

    Javascript + Dom知识点总结 1.用Javascript声明数组和字典的方式 // 数组声明 var arr = new Array(); arr["0"] = &q ...

  3. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  4. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  5. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

  6. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  7. javascript DOM操作之 querySelector,querySelectorAll

    javascript DOM操作之 querySelector,querySelectorAll

  8. javaScript DOM JQuery AJAX

    http://www.cnblogs.com/wupeiqi/articles/5369773.html 一 JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript ...

  9. 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能

    #!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...

随机推荐

  1. iOS不得姐项目--pop框架的初次使用

    一.pop和Core Animation的区别 1.Core Animation的动画只能添加到layer上 2.pop的动画能添加到任何对象 3.pop的底层并非基于Core Animation,是 ...

  2. Django - 获取请求方式

    //获取请过来得得请求类型 method = request.method 通过Django 的form 判断用户输入是否通过验证 check = forms.LoginFrom(request.PO ...

  3. hdu4990 矩阵

    C - Reading comprehension Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  4. sql-truncate,delete,drop删除表数据的区别

    TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作. 语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要删除其全部行的表的名称. 注释 TRUNC ...

  5. jsrender-for循环中访问父属性

    jsrender中使用for循环数据时有时需要访问父级数据. 而jsrender在循环中的父级数据存放在隐藏属性parent.parent.data中,使用案例如下 {{:#parent.parent ...

  6. Fresco内存机制(Ashmem匿名共享内存)

    Fresco的内存机制 Fresco是Facebook出品的高性能图片加载库,采用了Ashmem匿名共享内存机制, 来解决图片加载中的OOM问题.这里不对Fresco做深入分析,只关注Fresco在A ...

  7. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  8. Mybatis 保错:Mapped Statements collection already contains value for jaxrs.dch.projects.y

    原因是mapper.xml中定义了相同的两个方法

  9. [日常训练]training

    Description 一条线上有栋楼,第栋楼有层,每层有1个价值为的物品. 可以花费1个单位时间完成以下3种移动: 1.在同一栋楼中向上或者向下走一层; 2.如果此刻在顶楼,可以通往1楼; 3.从当 ...

  10. js-this的用法,来自阮一峰老师的文章

    1. 随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象. 或者说,this指向当前执行的函数的所有者. 2.情况一:纯粹的函数调用 这是函数 ...