JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数

如题所述

第一: 限制只能是整数
<input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.test(this.value)){alert('只能整数');this.value='';}" />
如果不是整数就直接alert
第二: 限制是两位的小数
<input type = "text" name= "price" id = 'price' onkeyup= "if( ! /^d*(?d{0,2})?$/.test(this.value)){alert('只能输入数字,小数点后只能保留两位');this.value='';}" />
原理:
通过 正则表达式判断,不满足 执行alert。
第一个正则表达式是 /^d+$/ 表示可以是一个或者多个数字
第二个正则表达式是
/^d*(?d{0,2})?$/
表示必须是数字开头,数字结尾。
这里重点是要数字结尾, 在计算机中通常小数 1. , 2. 这种写法, 就是可是小数点结尾的, 是正确的。这里强制让数字结尾。
test()
只要找到满足的部分就返回真。
意思是是
/d/. test ( 'a' ) // false/d/. test ( 'a' ) // true/d/. test ( 'a' ) // true
所以要保证谁开头谁结尾。 开头用 $, 结尾用 ^
下面给大家介绍js正则限制input框输入的常用代码
1.只能输入数字和英文的:
<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">
2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">
3.只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3">
4.只能输入汉字的:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4">
5.邮件地址验证:
var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$" var re = new RegExp(regu); if (s.search(re) != -1) { return true; } else { window.alert ("请输入有效合法的E-mail地址 !") return false; }
6.身份证:
"^\\d{17}(\\d|x)$" 7.17种正则表达式 "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?\\d+)(\\.\\d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^\\w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址 "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url
1.取消按钮按下时的虚线框
在input里添加属性值 hideFocus 或者 HideFocus=true
2.只读文本框内容
在input里添加属性值 readonly
3.防止退后清空的TEXT文档(可把style内容做做为类引用)
<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>
4.ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9" >
5.只能为中文(有闪动)
<input onkeyup="value="/value.replace(/[" -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9">
6.只能为数字(有闪动)
<input onkeyup="value="/value.replace(/["^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
7.只能为数字(无闪动)
<input ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeypress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">
8.只能输入英文和数字(有闪动)
<input onkeyup="value="/value.replace(/[\W]/g,"'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
9.屏蔽输入法
<input type="text" name="url" ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">
10. 只能输入 数字,小数点,减号(-) 字符(无闪动)
<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">
11. 只能输入两位小数,三位小数(有闪动)<input maxlength=9 onkeyup="if(value.match(/^\d{3}$/))value="/value.replace(value,parseInt(value/10))" ;value="/value.replace(/\.\d*\./g,'."')" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>
温馨提示:内容为网友见解,仅供参考
无其他回答

JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位...
第一: 限制只能是整数 <input type = "text" name= "number" id = 'number' onkeyup= "if(! \/^d+$\/.test(this.value)){alert('只能整数');this.value='';}" \/> 如果不是整数就直接alert 第二: 限制是两位的小数 <input type = "text"...

js 用正则表达式验证只允许输入数字,或者是数字后两位小数点,如何写...
只能输入或粘贴纯数字的:<input onkeyup="value=value.replace(\/[^\\d]\/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(\/[^\\d]\/g,''))"> 页面输入框js正则验证输入值为数字,且只保留小数点后两位:<input type="text" id="aaa" name="aaa" o...

js怎么让input只能输入数字
有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等代码。例如,输入大于0的正整数 <input onkeyup="if(this.value.length==1){this.value=this.value.replace(\/[^1-9]\/g,'')}else{this.value=this.value.replace(\/\\D\/g,'')}" onafter...

JS正则表达式,限制输入数字,且小数点保留两位
{2}:小数点后取两位 :匹配任何结尾为之前所写的字符串 即 小数点和两位小数

js正则限制input框输入只能输入大于0的整数或者保留两位数的小数怎么处...
reg.test(value)){console.log("请输入大于0的整数或者保留两位小数")}else{console.log("输入正确");};});}AddEventInput(input);<\/script><\/body><\/html> 这里定义了一个函数AddEventInput有一个参数i其实就是需要传入的input节点 函数AddEventInput为传入的节点添加了失去焦点事件 在失去焦点...

js正则表达式 判断输入框是否为正整数或者正整数保留两位小数
\/^\\d+(\\.\\d*)?$|^\\.\\d+$\/,这个正则既不限制开头0的个数也不限制小数点后面的数字的多少,都返回true.这个才是正确判断条件:1、正数,2、两位数及以上不能以0开头,3、最多只有两位小数 \/^[1-9]+\\d*(\\.\\d{0,2})?$|^0?\\.\\d{0,2}$\/.test(str);...

...input框内 怎样用 正则表达式约束 框内只能输入固定位数的数字和一...
[\\d]{6}\\.?[\\d]{2} 限制小数点前必须是6位 小数点后必须是2位的正则 (^[1-9]{1}[0-9]{0,5}\\.\\d{0,2}$)|(^[1-9]{1}[0-9]{0,5}$) 整数部分1-6位,小数部分只能为2位 若没有小数部分 整数最多6位

JS如何限制文本框只能输入小写的金额,且首位不能输0,小数点后只能输入2...
需要准备的材料分别是:电脑、html编辑器、浏览器。1、首先,打开html编辑器,新建带输入框的html文件,例如:index.html。2、在index.html的<script>标签中,输入js代码:。3、浏览器运行index.html页面,此时文本框只能输入满足条件的数,例如3.14。

Vue input 限制只能输入正整数、数字、英文、两个小数
限制只能输入正整数:在`@input`事件处理器中,可以通过将`event.target.value`转换为数字,然后使用`Number.isInteger()`方法检查是否为整数。若值为整数且大于零,则允许输入,否则阻止输入。限制价格只能输入数字且最多两个小数:使用`event.target.value`获取输入值,然后使用正则表达式`\/^\\d+(\\.\\d...

js 正则表达式 来控制输入框 只能输入 7位正整数和2位小数,点号只允许...
应该是至多7位整数和2位小数吧。fantasy_wl那个必须固定位数了。\/^\\d{0,7}(\\.\\d{0,2})?$\/g 这样可以匹配 3456 3456.7 3456.78 不能匹配 34567894 3456.3456.123 .12 34.34.3

相似回答
大家正在搜