jsp中正则input只能输入数字,且保留两位小数

js完美解决jsp文本框限制只能输入数字、小数问题 js完美解决jsp文本框限制只能输入数字、小数问题,只需 oncontextmenu="return false;" oncontextmenu="return false;":防止右键粘贴 立即下载

jsp中正则input只能输入正数,且保留两位小数


<form:input path="budget" htmlEscape="false" maxlength="10" class="input" onkeyup="this.value=this.value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/\D/g,'')/>  
 //onbeforepaste表示在用户执行粘贴动作之前,在剪贴板内进行正则

分析一下这个正则写法:

1、关于正则:

^表示开始
$表示匹配结束
表示多个数字 匹配0次或多次
+表示匹配1一次或多次
?前的数值表示0-1次
. 表示除换行符以外的所有字符。
() 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串
[] 是定义匹配的字符范围
{n}表示非负整数, {}一般是用来匹配的长度,比如A{3}表示匹配三个A,B{1,3}表示匹配1到3个B
{N} - 匹配 N次。
{N,} - 匹配 N次以上。
{M,N} - 最少 M 次,最多 N 次匹配
[-]表示转义 *表示匹配
字符,同理.表示匹配.字符,-表示匹配-字符 ^表示匹配^字符
\d表示数字

2、分析我们的写法拆解:

value.replace(/[^\d.]/g, '')
.replace(/\.{2,}/g, '.')
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
.replace(/^\./g, '')

//拆解分析:
()表示匹配字符串
[]表示自定义字符范围
{}表示数量
加上^表示只算开头的
注意replace前一个参数,表示要替换的表达式内存在匹配replace前一个参数的值,才能发生替换,不然返回原值
.replace(/[^\d.]/g, '') 第一节拆解,只能获取到数字小数点:\d数字.小数点
.replace(/\.{2,}/g, '.') 第二节再次替换表示在第一节的基础上 将两个.及两个以上的.替换为一个.
.replace('.', '$#$') 第三节将匹配到的第一个.替换为$#$
.replace(/\./g, '') 第四节 将所有的.去掉,也就是除了第一个.其余的全部去掉
.replace('$#$', '.') 第五节 将之前替换的第一个$#$ 替换还原为.
.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') 第六节 其中$1,$2,$3分别表示第一个括号,第二个括号,第三个括号中匹配的结果  (\-)* 表示存在0或者多个-,(\d+) 表示1个或者1+的数字,当存在\.时表示当为小数时候,只匹配小数点后的两个数字,也就是保留两位小数(\d\d)
.$表示在两位小数后存在多个除了换行符以外的字符,使其能在特殊输入时也能匹配成功
最后的$1,$2,$3将获取到的值组合我们需要拿到的值
replace(/^\./g, '') 表示,如果开始就为.则将开头的.去掉

根据需要将其做稍作修改,可以得获取可以负数的input
value.replace(/[^\d.-]/g, '')
.replace(/\.{2,}/g, '.')
.replace(/^\-/,'$%$')
.replace(/\-/g,'')
.replace('$%$','-')
.replace('.', '$#$')
.replace(/\./g, '')
.replace('$#$', '.')
.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
.replace(/^\-\./g, '-')
.replace(/^\./g, '')
华为OD机试真题 新系统【Skill执行链完整性检测】 华为OD机试 新系统真题【Skill执行链完整性检测】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【Skill执行链完整性检测】 阅读详情

相关推荐

Foxglove 介绍以及入门使用教程

Foxglove 是由Foxglove 工作室开发的一套工具集,包括和等组件。跨平台支持:可以在 Windows、macOS 和 Linux 上运行。多协议兼容:支持 ROS、ROS 2、CAN 数据以及其他自定义协议。丰富的可视化功能:可以绘制点云、轨迹、激光雷达数据、IMU 数据等。实时与离线模式:既可以实时监控机器人状态,也可以加载和回放记录的数据文件。Foxglove 的 3D 视图允许你以三维方式查看机器人的运动轨迹、传感器数据和其他几何信息。你可以旋转、缩放和平移视图以获得更好的观察角度。

zolty 1万+

JSP页面数据(double)保留两位小数格式,和刷新时候保留两位数字的方法(均来自百度)

JSP页面数据(double)保留两位小数格式: 在JSP开头导入以下标签:    "http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>    从后台传入的值是deltmain。 这里的pattern就相当于DecimalFormat。    "${deltmain}" pattern="##.##" minFractionDigits

Coder tMax 8790

【VeriStand】从零构建HIL测试平台:核心概念、硬件选型与实战配置指南

本文详细介绍了如何从零构建HIL测试平台,涵盖核心概念、硬件选型与实战配置指南。重点解析了VeriStand生态系统的优势,包括开箱即用特性、与LabVIEW的黄金搭档配合及Python支持。通过实战案例和硬件选型建议,帮助工程师高效搭建可靠的HIL测试平台,提升测试效率与安全性。

weixin_29250573的博客 329

jsp中取两位小数

el表达式保留两位小数、使用jstl 标签保留两位小数        jsp中取两位小数 var d=1.11111111;  var c = d.toFixed(2);  alert(c)

qq_38647207的博客 3698

使用STM输出互补SPWM波(三相各差120°)

使用STM32输出SPWM波形(三相各差120°)

hello011102的博客 7373

伯德图详解:从传递函数到系统稳定性的频域分析

在自动控制与控制系统设计中,理解系统对不同频率输入信号的响应特性,是分析和设计稳定系统的核心基础。频率响应描述了系统对正弦输入的幅值增益与相位变化规律,而伯德图作为最直观的频域分析工具,通过对数坐标将宽频带特性压缩成一条清晰曲线,让工程师无需复杂计算即可快速评估系统性能。从典型环节的渐近线绘制,到相位裕度、幅值裕度的读取,伯德图贯穿了系统稳定性判断、控制器参数整定及噪声抑制等关键场景。本文结合实际调试经验,系统讲解伯德图的绘制原理与读图方法,帮助读者快速掌握从传递函数到工程应用的核心技能。

weixin_34535286的博客 335

JS、JSP页面保留小数位数/四舍五入的方法

在html里面可以用fmt标签,在JQuery中就不能用, 在JS中可以用fmt标签、toFixed()、Math(), 在JQuery中可以用toFixed()、Math(), fmt标签、toFixed()可以指定小数位数,Math()只能保留小数,如果要保留一位小数需要Math(x*10)/10。 html中使用fmt标签 <span class="num">$...

qiudechao1的博客 6811

反应动力学仿真软件:CHEMKIN_(12).CHEMKIN与其他软件的接口

通过上述介绍,我们详细探讨了如何将 CHEMKIN 与 MATLAB、Python、COMSOL、Aspen Plus 和 Ansys Fluent 等软件工具进行接口配置和数据交互。这些接口不仅能够显著提升 CHEMKIN 在反应动力学仿真中的应用效果,还能充分利用其他软件工具的强大功能,实现更复杂的数据处理和分析。希望这些内容对您在化学反应动力学仿真中的工作有所帮助。

kkchenjj的博客 1138

控制JSP页面上的文本框只能输入数字

控制JSP页面上的文本框只能输入数字 onkeyup事件 1.只能输入数字和英文的: <input οnkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1"> 2.只能输入数字的: <input οnkeyup="v

Aurora_____的博客 7463

pdb文件删除杂原子 HETATM;保留或去除水分子

这样操作水分子也会跟着删除,如果需要保留水分子。

weixin_42357472的博客 2644

【YOLOv11】006、YOLOv11数据增强策略:Mosaic、MixUp等增强技术原理解析

摘要:YOLOv11在产线缺陷检测中遇到小尺寸瑕疵漏检问题,暴露了训练数据过于"干净"的缺陷。数据增强的核心是提升模型泛化能力,而非简单扩充数据。Mosaic增强通过多图拼接迫使模型处理多尺度目标,需注意边界框裁剪细节;MixUp通过线性插值使决策边界更平滑,但需避免类别冲突。自适应增强策略应随训练进度动态调整强度。实际应用中,需针对小目标、类别不平衡等场景调整增强参数,并确保验证与推理流程一致。数据增强应针对性解决具体问题,而非盲目尝试组合。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 365

使用js控制input框只能输入数字或小数并且最多允许小数点两位具体代码

使用js控制input框只能输入数字或小数并且最多允许小数点两位具体代码具体代码js如何限制input输入框只能输入数字 具体代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>只允许输入两位小数</title> </head> <body> <input type="text" name="je" onb

徊忆羽菲 5903

软件设计师高频考点—套路题

学习交流的总结

秩沅 2539

让input框只能输入数字和小数点的实现方式

js代码如下: <script language="JavaScript" type="text/javascript"> function clearNoNum(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符 obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的 obj.value = obj.va

qq_43807797的博客 1107

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

input只能输入数字或小数

1、限制input只能输入数字 2、限制input只能输入数字和小数点(用于金额输入框等) 请查看: http://www.yayihouse.com/yayishuwu/chapter/2032

xm的博客 3528

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

javascript 控制input只能输入数字并且最多允许两位小数的数字

javascript 控制input只能输入数字并且最多允许两位小数的数字<html lang="en"> <head> <meta charset="UTF-8"> <title>JS 控制只能输入数字并且最多允许两位小数点</title> </head> <body> <input type="text" name="je&quo

知其白,守其黑;和其光,同其尘。 752

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

input 只能输入金额 保留2位小数

js: //只能输入金额 functiononlyNumOnePoint(number_only){ //先把非数字的都替换掉,除了数字和小数点 number_only=number_only.replace(/[^\d.]/g,''); //必须保证第一个为数字而不是小数点 number_only=number_only.replace(/^\./g,''); //保证只有出现一个小数点而没有多个小数点 number_only=number_o...

qq_34311743的博客 947

jsp页面中input标签保留两位小数

在JSP开头导入以下标签:    taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 调用:value="${“要显示的值”}" pattern="0.00">>

5492

js限制只能输入两位小数,js输入金钱

HTML部分代码 <input type="text" onkeyup="setnum(this)"/> JS部分代码 <script> function setnum(that) { that.value = that.value.replace(/[^\d.]/g, ""); //只保留数字和点("."),其余的字符都去掉 that.value = t...

qq_19484091的博客 917

jsp 前台显示的数字保留两位小数的方法

1.前台标签: 2.后台处理: new java.text.DecimalFormat("#.00").format(3.1415926) 原文章:http://blog.youkuaiyun.com/home_zhang/article/details/8511721

qq_37257579的博客 6145

input 只能输入数字和两位小数

$(".area-input").on('keyup', function () { var $val = $(this).val(); // 只能数字 // var re_val = $val.replace(/\D/g, ''); //限制可以小数 var re_..

suuntil的博客 429

js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案

js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案背景需求实现 问题还不知道原因 如果有大佬知道,还请赐教,不胜感激解决办法:将oninput改为onkeyup事件即可

qubes的专栏 1464

js限制文本框input只能输入数字

JS判断只能是数字和小数点。 1,文本框只能输入数字代码(小数点也不能输入) onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"> 2,只能输入数字,能输小数点. onkeyup="if(isNaN(value))execComman

Tobe_BestLeaf的博客 640

html页面自动输入数字,js input框输入1位数字后自动跳到下一个input框聚焦

// input框输入1位数字后自动跳到下一个input聚焦function goNextInput(el){var txts = document.querySelectorAll(el);for(var i = 0; ivar t = txts[i];t.index = i;t.setAttribute("readonly", true);t.onkeyup=function(){this.v...

weixin_42501298的博客 1925

input框 只可输入数字及小数点后两位

<inputtype="text" id="Money" name="Money" maxlength="20" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" onpaste="value=value.replace(/^\...

c15162的博客 485

input标签的值只能两位小数_js控制input文本框只能输入金额数字(小数点后只能有2位)...

首先,在input中增加onkeyup="clearNoNum(this)"然后,引入代码//对输入金额进行校验functionclearNoNum(obj){obj.value=obj.value.replace(/[^\d.]/g,"");//清除"数字"和"."以外的字符obj.value=obj.value.replace(/^\./g,"");//验证第一个字符是数字而不是字符...

weixin_39766258的博客 682
上一篇: el-tree默认展开n项,最后一项时调用接口获取
下一篇: ureport2图表使用,当无数据时自定义显示
limit for me
博客等级 码龄7年 338粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值