【JavaWeb程序设计】Web基础-JavaScript

目录

一、函数与事件的使用

1. 编写一个html页面,使用Javascript完成数字的平方计算。

1.1 运行截图

1.2 JS代码 

1.3 HTML代码

2. 要求文本框中只能输入字母

2.1 运行截图

2.2 下载jquery-3.4.1并引用

2.3 JS代码

2.4 HTML代码

3. 在文本框分别输入两个数,实现两个数的+、-、*、/运算,点击“=按钮”将结果显示在文本框中。

3.1 运行截图

3.2 JS代码

3.3 HTML代码


一、函数与事件的使用

1. 编写一个html页面,使用Javascript完成数字的平方计算。

1.1 运行截图

1.2 JS代码 

<script type="text/javascript">function  sqrt(){var n = document.f1.number.value;var res = Math.pow(n,2);f1.result.value = res;}
</script>

1.3 HTML代码

<!DOCTYPE html><html><head></head><body><form name="f1">请输入一个数字:<input type="text" value="" name="number"/><br>平方数:<input type="text" name="result"/><input type="button" value="求平方" onclick="sqrt()"/></form></body></html>

2. 要求文本框中只能输入字母

参考如下:(可使用JavaScript内置对象String的方法测试数字和字母)

2.1 运行截图

错误输入:

正确输入:

2.2 下载jquery-3.4.1并引用

2.3 JS代码

<script type = "text/javascript" src="../JS/jquery-3.4.1.min.js"></script>
<script>function check(){var str = $("#myInput").val();var reg = /^[a-zA-Z]+$/; //判断是否为字母if(!reg.test(str)){alert("输入的字符串只能为字母哦!");return;}else{alert("您输入的字符串为:"+ str);}}
</script>

2.4 HTML代码

<body style = "width:25%; margin: 170px auto"><form name = 'f'>请输入字母:<input type = "text" id = "myInput" value = "" /><input type = "button" value = "确定" onclick = "check()" /></form>
</body>

3. 在文本框分别输入两个数,实现两个数的+、-、*、/运算,点击“=按钮”将结果显示在文本框中。

界面设计可参考下图。注意对文本框输入的数据是否是数字要进行判断。

3.1 运行截图

正确输入:

错误输入:

        ① 不是数字

        ② 除数为0

3.2 JS代码

<script type="text/javascript" src="../JS/jquery-3.4.1.min.js"></script><script>function operate() {var n1 = $("#num1").val();var n2 = $("#num2").val();var op = $("#op").val();var res = $("#result").val();var reg = /(^[\-0-9][0-9]*(.[0-9]+)?)$/; //判断是否为数字if (!reg.test(n1) || !reg.test(n2)) {alert("检测到非数字,请您重新输入!");return false;} else if (op == '/' && n2 == 0) {alert("除数不能为0,请重新输入!");n2 = '';return false;} else {// 如果参数是表达式,则eval计算表达式res = eval(n1 + op + n2);f.result.value = res;return true;}}
</script>

3.3 HTML代码

<body style="width: 50%; margin: 200px auto"><form name="f">请输入两个数进行简单的运算:<br><br><!--    输入第一位数--><input type="text" id="num1" value=""/><!--    算数选择器--><select id="op"><option value='+'> +</option><option value='-'> -</option><option value='*'> ×</option><option value='/'> ÷</option></select><!--    输入第二位数--><input type="text" id="num2" value=""/><!--    添加'='按钮--><input type="button" value="=" onclick="operate()"/><!--        输出结果:只可查看--><input type="text" id="result" value="" readonly/></form>
</body>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于aardio web.view2库和python playwright包的内嵌浏览器自动化操作

通过cdp协议可以实现playwright操控webview。 新建Python窗口工程 修改pip.aardio 修改pip.aardio&#xff0c;并执行&#xff0c;安装playwright。 //安装模块 import process.python.pip; //process.python.path "python.exe";/* 安装模块。 参数可以用一个字…

Linux系统的基础知识和常用命令

1、什么是Linux&#xff1f; 是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹于1991年10月5日首次发布&#xff0c;它主要受到Minix和Unix思想的启发&#xff0c;是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十)-git(2)

下面是一些git的常用命令和基本操作&#xff0c;可以当做平常的笔记查询&#xff0c;用于学习&#xff01;&#xff01;&#xff01; 文章目录 前言 一、git 二、git常用命令 总结 前言 下面是一些git的常用命令和基本操作&#xff0c;可以当做平常的笔记查询&#xff0c;用于…

【MindSpore学习打卡】应用实践-计算机视觉-深入解析 Vision Transformer(ViT):从原理到实践

在近年来的深度学习领域&#xff0c;Transformer模型凭借其在自然语言处理&#xff08;NLP&#xff09;中的卓越表现&#xff0c;迅速成为研究热点。尤其是基于自注意力&#xff08;Self-Attention&#xff09;机制的模型&#xff0c;更是推动了NLP的飞速发展。然而&#xff0c…

pandas,dataframe使用笔记

目录 新建一个dataframe不带列名带列名 dataframe添加一行内容查看dataframe某列的数据类型新建dataframe时设置了列名&#xff0c;则数据类型为object dataframe的保存保存为csv文件保存为excel文件 dataframe属于pandas 新建一个dataframe 不带列名 df pd.DataFrame() 带…

GuLi商城-商品服务-API-品牌管理-效果优化与快速显示开关

<template><div class"mod-config"><el-form :inline"true" :model"dataForm" keyup.enter.native"getDataList()"><el-form-item><el-input v-model"dataForm.key" placeholder"参数名&qu…

java集合(1)

目录 一.集合概述 二. 集合体系概述 1. Collection接口 1.1 List接口 1.2 Set接口 2. Map接口 三. ArrayList 1.ArrayList常用方法 2.ArrayList遍历 2.1 for循环 2.2 增强for循环 2.3 迭代器遍历 一.集合概述 我们经常需要存储一些数据类型相同的元素,之前我们学过…

C++ 仿QT信号槽二

// 实现原理 // 每个signal映射到bitset位&#xff0c;全集 // 每个slot做为signal的bitset子集 // signal全集触发&#xff0c;标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位&#xff0c;主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…

【C++】 解决 C++ 语言报错:Segmentation Fault

文章目录 引言 段错误&#xff08;Segmentation Fault&#xff09;是 C 编程中常见且令人头疼的错误之一。段错误通常发生在程序试图访问未被允许的内存区域时&#xff0c;导致程序崩溃。本文将深入探讨段错误的产生原因、检测方法及其预防和解决方案&#xff0c;帮助开发者在…

4.2 投影

一、投影和投影矩阵 我们以下面两个问题开始&#xff0c;问题一是为了展示投影是很容易视觉化的&#xff0c;问题二是关于 “投影矩阵”&#xff08;projection matrices&#xff09;—— 对称矩阵且 P 2 P P^2P P2P。 b \boldsymbol b b 的投影是 P b P\boldsymbol b Pb。…

2024年7月5日 (周五) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 《乐高地平线大冒险》为何不登陆…

江汉大学刘春萌同学整理的wifi模块 上传mqtt实验步骤

一.固件烧录 1.打开安信可官网 2.点击wifi模组系列的ESP8266 3.点击各类固件后选择固件号1471下载 4.打开烧录工具将下载的二进制文件导入并将后面的起始地址写为0x00000,下面勾选40mhz QIO 8Mbit点击start下载即可 二.本地部署mqtt服务器(windows) 1.下载mosquitto后有一个m…

Java并发编程知识整理笔记

目录 ​1. 什么是线程和进程&#xff1f; 线程与进程有什么区别&#xff1f; 那什么是上下文切换&#xff1f; 进程间怎么通信&#xff1f; 什么是用户线程和守护线程&#xff1f; 2. 并行和并发的区别&#xff1f; 3. 创建线程的几种方式&#xff1f; Runnable接口和C…

Qt实现流动的管道效果代码示例

在现代图形用户界面&#xff08;GUI&#xff09;应用程序中&#xff0c;动态效果可以显著增强用户体验。本文将介绍如何使用Qt框架实现一个流动的管道效果。我们将通过自定义QWidget来绘制管道&#xff0c;并使用定时器来实现流动效果。 1. 准备工作 首先&#xff0c;确保你已…

HMI 的 UI 风格创造奇迹

HMI 的 UI 风格创造奇迹

Laravel5+mycat 报错 “Packets out of order”

背景 近期对负责项目&#xff0c;配置了一套 主从复制的 MySQL 集群 使用了中间件 mycat 但测试发现&#xff0c;替换了原来的数据连接后&#xff0c;会出现 Packets out of order 的报错 同时注意到&#xff0c;有的框架代码中竟然也会失效&#xff0c;比如 controller 类中&…

Linux:进程间通信(一.初识进程间通信、匿名管道与命名管道、共享内存)

上次结束了基础IO&#xff1a;Linux&#xff1a;基础IO&#xff08;三.软硬链接、动态库和静态库、动精态库的制作和加载&#xff09; 文章目录 1.认识进程间通信2.管道2.1匿名管道2.2pipe()函数 —创建匿名管道2.3匿名管道的四种情况2.4管道的特征 3.基于管道的进程池设计4.命…

Vue3学习笔记(n.0)

vue指令之v-for 首先创建自定义组件&#xff08;practice5.vue&#xff09;&#xff1a; <!--* Author: RealRoad1083425287qq.com* Date: 2024-07-05 21:28:45* LastEditors: Mei* LastEditTime: 2024-07-05 21:35:40* FilePath: \Fighting\new_project_0705\my-vue-app\…

重载一元运算符

自增运算符 #include<iostream> using namespace std; class CGirl { public:string name;int ranking;CGirl() { name "zhongge"; ranking 5; }void show() const{ cout << "name : "<<name << " , ranking : " <…

cmake编译源码教程(一)

1、介绍 本次博客介绍使用cmake编译平面点云分割的源代码,其对室内点云以及TLS点云中平面结构进行分割,分割效果如下: 2、编译过程 2.1 源代码下载 首先,下载源代码,如下所示,在该文件夹下新建一个build文件夹,用于后续生成sln工程。 同时,由于该库依赖open…