纯js + 正则表达式 编写简单计算器

2023-05-16

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			* {
				padding: 0px;
				margin: 0px;
			}
			#container{
				width:152px;
				height: 220px;
				margin: 30px auto;
				padding: 15px 20px;
				background-color: skyblue;
			}
			.calc-header{
				width: 150px;
				float: left;
				border: 1px solid #f5f0f0;
			}
			.calc-show{
				float: left;
				margin-top: 10px;
			}
			.calc-show input{
				height: 25px;
				border: 1px solid #f5f0f0;
			}
			.calc-btn{
				float: left;
				width:149px;
				text-align: center;
				margin-top: 10px;
				border: 1px solid #f5f0f0;
			}
			.calc-btn ul{
				float: left;
				list-style: none;
			}
			.calc-btn li{
				float: left;
				width:28px;
				margin-left: 6px;
				margin-top: 5px;
				border: 1px solid #f5f0f0;
			}
			.calc-btn li:last-child{
				margin-bottom: 5px;
			}
			.calc-btn li:hover{
				background-color: #f7f5f5;
				cursor: pointer;
			}
			.calc-footer{
				float: left;
				margin-top:15px;
				font-size: 12px;
			}
		</style>
	</head>
	<body>
		<div id="container">
			<!--计算机头部-->
			<div class="calc-header">
				<h4>计算器 vs 1.0</h4>
			</div>
			<!--显示部分-->
			<div class="calc-show">
				<input id="num" type="text" value="" readonly="readonly"/>
			</div>
			<div class="calc-btn">
				<ul>
					<li onclick="btn(this);">0</li>
					<li onclick="clear_num();">C</li>
					<li onclick="btn(this);">+</li>
					<li onclick="btn(this);">-</li>
					<li onclick="btn(this);">1</li>
					<li onclick="btn(this);">2</li>
					<li onclick="btn(this);">3</li>
					<li onclick="btn(this);">*</li>
					<li onclick="btn(this);">4</li>
					<li onclick="btn(this);">5</li>
					<li onclick="btn(this);">6</li>
					<li onclick="btn(this);">/</li>
					<li onclick="btn(this);">7</li>
					<li onclick="btn(this);">8</li>
					<li onclick="btn(this);">9</li>
					<li onclick="calc();">=</li>
				</ul>
			</div>
			<div class="calc-footer">
				欢迎使用javascript计算器
			</div>
		</div>
		<script type="text/javascript">
			var temp="";
			function btn(t){
				temp+=t.innerHTML;
				document.getElementById("num").value=temp;
			}
			function calc(){
				var reg =/^[1-9]{1}\d*[\+\-\*\/]{1}[1-9]{1}\d{0,}$/;
				if(reg.test(temp)){
					temp=eval(temp);
					document.getElementById("num").value=temp;
					temp="";
				}else{
					alert("请先输入数字...");
					document.getElementById("num").value="";
					temp="";
				}
			}
			function clear_num(){
				document.getElementById("num").value="";
				temp="";
			}
			
		</script>
	</body>

</html>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

纯js + 正则表达式 编写简单计算器 的相关文章

  • linux禁用nouveau安装nvidia驱动遇到的问题

    1 禁用nouveau 安装nvidia显卡驱动首先需要禁用nouveau xff0c 不然会碰到冲突的问题 xff0c 导致无法安装nvidia显卡驱动 编辑文件blacklist conf sudo vim etc modprobe d
  • Linux第三次实验---进程管理

    文章目录 一 实验目的二 实验环境 xff1a 三 实验内容与步骤PART 1 进程基本操作PART 2 进程管理PART 3 定时执行命令PART 4 守护进程 一 实验目的 1 熟悉Linux操作系统环境 xff0c 掌握Linux命令
  • 如何设定Listview表头的背景色

    1 设定Listview的OwnerDraw属性为True 2 在Listview的DrawColumnHeader的事件中添加如下代码 xff1a e Graphics FillRectangle Brushes LightBlue e
  • DevExpress DataGrid Auto Filter Row 单元格实现单击全选

    如下图 xff0c 为提高工作效率 xff0c 要求单击时可以全选里面值 xff1a 研究了半天 xff0c 没有找到合适的事件 xff0c 后来还是在一个朋友的指点下得己实现 xff0c 代码如下 xff1a lt summary gt
  • MySQL 设定定时任务

    1 打开计划事件开关 SET GLOBAL event scheduler 61 ON 2 查看计划事件是否打开 SELECT 64 64 event scheduler 3 设定计划事件 CREATE EVENT IF NOT EXIST
  • MySQL 建视图时使用Union 报错1064

    SQL语句可以正常执行 xff0c 但创建视图时报错1064 xff0c 经多方资料查找 xff0c 格式调整 xff0c 原因竟然是不能用 xff08 xff09 xff0c 即创建视时SQL语句外围不能用 xff08 xff09 xff
  • C# winform ListView实现表示点击排序

    自用的小工具要实现这个功能 xff0c 网上找了些代码 xff0c 加工一下 xff0c 以下步骤 xff0c 亲测可用 菜鸟可一步步跟着来 xff0c 老鸟绕道啦 1 新建一个排序类 xff0c 代码如下 xff1a public cla
  • Oracle VM VirtualBox各种显示模式切换 热键

    初用VirtualBox 几个显示切换快捷键还是要记一下的 Right Ctrl 43 F 切换到全屏模式 Right Ctrl 43 L 切换到无缝模式 Right Ctrl 43 C 切换到比例模式 Right Ctrl 43 Home
  • PostgreSQL11.2 configure卡住 checking for DocBook XML V4.2

    在PG11 2的数据库编译过程中 xff0c 卡在了 checking for DocBook XML V4 2 xff0c 不动 xff0c 需要安装docbook才可以 需要安装 xff1a yum install docbook dt
  • 广东中山电信DNS地址 (铁通/网通)

    202 96 128 166 202 96 128 86 202 96 134 133 总忘 先记在这儿吧 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • SMARTFORM A5单据打印(自定义纸张/针式打印机)格式问题

    一张A5横放的单据 xff0c 做SmartForm时很自然的选择了DINA5 xff0c 然后横放 xff0c 测试的时候一直用激光打印机 xff0c 感觉挺正常 实际使用时发现异常 xff0c 不得己自己定义了一个A5横放的自定纸型 x
  • 检查c#代码内存泄露工具-CLR Profiler

    转自 xff1a http blog csdn net hualusiyu article details 8166450 大家都知道 net 有一套自己的内存 xff08 垃圾 xff09 回收机制 xff0c 除非有一些数据 xff08
  • 在SAP中创建并运用条形码

    原文地址 xff1a http blog chinaunix net u2 64924 showart 715473 html 在 SAP 中创建并运用条形码的过程如下 xff1a 1 以 T CODE xff1a SE73 进行后如图 x
  • 常用数据库建模工具

    收藏 xff1a http www oschina net project tag 83 db model Intellij下mybatis插件 MyBatisCodeHelper 国产 MyBatisCodeHelper 是 Intell
  • surface pro 4 发热抖屏的解决方法

    用了三年 xff0c 同样的问题 xff0c 以下方法试验中 以牺牲性能方法来降低发热 xff0c 从而避免抖屏 xff0c 不得已而为之 https tieba baidu com p 5598171696 red tag 61 1289
  • 关于物化视图增量刷新报ORA-12018 问题的解决方案

    由于表之前采用的是全量刷新方式进行刷新 xff0c 但是因为表的数据量越来越大 xff0c 全量刷新的时候偶尔会出现失败的情况 xff0c 因为同一个时点刷新的任务比较多 xff0c 回滚段被占满了之后会出现报错 xff0c 所以急需要解决
  • c语言中四种简单的数组排序

    前言 本文介绍了几种c语言中对乱序数组的排序方式 具体的内容有 xff1a 插入排序 xff1b 冒泡排序 xff1b 选择排序 xff1b 希尔排序 xff1b 具体内容详见下文 一 插入排序 1 思路 首先假设数组的的前n位元素是有序的
  • 网桥的功能和分类

    br lan 61 lan 网桥 将WLAN和LAN 交换机 绑定为一个虚拟接口 连接两个局域网 xff0c 负责数据的中继和转发 交换机的前生 集线器 xff08 Hub xff09 是中继器的一种形式 xff0c 区别在于集线器能够提供
  • Java简介

    今天开始学习Java啦 xff0c 每天进步一点点 xff01 1 Java语言发展史 Java语言是美国Sun Stanford University Network 公司在1995年推出的计算机语言 xff0c java之父 xff1a
  • win10上WSL+vscode+xserver配置linux图形化程序开发环境

    受够了双系统来回切换 xff0c 尝试了一下wsl配置linux环境 xff08 个人习惯在linux上敲代码 xff09 xff0c 由于需求图形化 xff0c 又弄了xserver 没有装linux图形界面 WSL 安装按着官方的文档来

随机推荐

  • 02.Ubuntu 18.04安装KVM

    02 Ubuntu 18 04安装KVM 1 检查是否支持虚拟化 span class token function egrep span span class token parameter variable c span span cl
  • maven 打包缺失 resources 目录下的 jar 包,警告 jar should not point at files within the project directory

    报错如下 INFO Scanning for projects WARNING WARNING Some problems were encountered while building the effective model for co
  • Linux 下利用trash替换rm

    前言 rmtrash 是linux和mac下命令行版本rm的回收站 xff0c 安装后对用户透明 xff0c 符合正常使用rm的习惯 支持rm fr file哦 xff0c 有了他再也不怕rm时候手颤抖了 能自动拒绝 rm fr 哦 安装
  • 【异常】记一次前端因资源无法加载导致白屏异常问题

    一 背景 自从运维同事强烈要求前端的环境要使用多套的 xff0c 参考文章 项目 参考若依的前端框架去多环境 于是一番捣鼓与改造之后 xff0c 看似已经顺利了 但运维说 xff0c 前端还是有问题 xff0c 需要他帮我改下 xff0c
  • 三种方法实现后入先出的栈---leetcode题解225

    声明 xff1a 问题描述来源于leetcode 一 问题描述 xff1a 用队列实现栈 CategoryDifficultyLikesDislikesalgorithmsEasy 67 64 480 Tags stack design C
  • iOS|开发小技巧之UIView创建xib

    我们有的时候在创建UIView的时候 xff0c 想要使用xib进行创建视图发现 xff0c xib文件不能和UIView文件一起创建 所以 xff0c 我们要单独创建xib文件 我们选择Empty文件 xff0c 而不要选择View文件
  • PyCharm中安装Vim插件ideavim 并关闭vim编辑模式

    在PyCharm中安装Vim插件ideavim 进入File菜单下的Settings下的Plugins 搜索ideaVim 找到ideaVim插件 点击Install安装 重启并享受在Pycharm环境中使用Vim的乐趣 支持Vim三种模式
  • C++ typedef用法小结 (※不能不看※)

    第一 四个用途 用途一 xff1a 定义一种类型的别名 xff0c 而不只是简单的宏替换 可以用作同时声明指针型的多个对象 比如 xff1a char pa pb 这多数不符合我们的意图 xff0c 它只声明了一个指向字符变量的指针 xff
  • 中兴F450电信光猫改桥接模式

    前几天突然想搞外网访问 xff0c 但是电信这款光猫DMZ不能用让我很愁 xff0c 后来经过一番了解可以让光猫只负责光数转换 xff0c 剩下的事情交给路由 xff0c 但是要把光猫设置成桥接模式 这个光猫比较特殊不需要进入超级管理员只需
  • 群辉默认DDNS功能解析阿里云-自定义服务商

    前言 前不久买了个群辉NAS发现群辉DDNS不能解析阿里云 xff0c 后来找了很多教程都是部署Docker或使用其他平台转发一下 xff0c 然而这些平台还要注册 xff0c 我就在想我自己可不可以实现不需要注册就可以使用的DDNS xf
  • Debian 给非 ROOT 用户添加 sudoer 权限

    问题描述 从官方镜像安装的 Debian 9 xff08 Stretch xff09 比较纯净 xff0c 但因此需要自己安装 配置许多常用的 Linux 应用 xff0c 这里就需要 sudo xff08 super user do xf
  • ffmpeg Could not find codec parameters for stream

    在arm上使用ffmpeg rtmp拉流时出现了下面异常 xff1a flv 64 0x1b0e120 Could not find codec parameters for stream 2 Video h264 none 2560 kb
  • 五、Shell自动化脚本

    一键安装Nginx 脚本 install nginx sh span class token shebang important bin bash span span class token comment Use 使用Shell脚本一键安
  • Mysql数据库备份(一)------数据库备份和表备份

    一 Mysql中的数据备份 Mysql中数据备份使用的命令是 mysqldump 命令将数据库中的数据备份成一个文本文件 表的结构和表中的数据将存储在生成的文本文件中 mysqldump命令的 工作原理很简单 它先查出需要备份的表的结构 x
  • mysql如何查看自己数据库文件所在的位置

    本文详细讲解了如何查找mysql数据库真实物理文件的存储位置 xff0c 只要我们直接复制数据库文件 xff0c 即可对数据库进行搬迁 xff0c 也可以对数据库文件的存放位置进行改变 工具 原料 mysql数据库 方法 步骤 第1步 xf
  • MySQL开启SSL的利与弊

    最近 xff0c 准备升级一组MySQL到5 7版本 xff0c 在安装完MySQL5 7后 xff0c 在其data目录下发现多了很多 pem类型的文件 xff0c 然后通过查阅相关资料 xff0c 才知这些文件是MySQL5 7使用SS
  • Ubuntu系统安装X11VNC实现远程可视化桌面操作教程

    第一 安装X11VNC 在当前我们已经创建和安装好Ubuntu发行版本中直接用apt get安装X11VNC 代码如下复制代码 apt get update y apt get install x11vnc y 第二 设置VNC密码 代码如
  • enum to string c++17 Magic Enum

    Magic Enum header only library provides static reflection for enums to string from string iteration for C 43 43 17 c 43
  • C语言i++和++i的区别和用法

    文章目录 1 用于独立的语句中2 用于表达式中3 获取视频教程4 版权声明 C语言中 43 43 是自增运算符 xff0c 表示操作数自增1 xff1b 是自减运算符 xff0c 表示操作数自减1 本文以自增运算符 43 43 为例来介绍它
  • 纯js + 正则表达式 编写简单计算器

    lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt title gt lt title gt lt style gt padding 0