js使用正则表达式实现文本框只能输入数字和小数点
第一种情况:且限制小数点前最大3位数,小数点后最大3为三位
<!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=gb2312" />
<script src="jquery.js" type="text/javascript"></script>
<title>无标题文档</title>
</head>
<body>
<input type="text" class="InputText" />
</body>
</html>
<script type="text/javascript">
$(function(){
$('.InputText').keyup(function(){
if(this.value.length==1){
this.value=this.value.replace(/[^1-9]/g,'')
}else{
this.value = this.value.replace(/[^\d.]/g,"");
this.value = this.value.replace(/\.{2,}/g,".");
this.value = this.value.replace(/^(\-)*(\d+)\.(\d\d\d).*$/,'$1$2.$3');
var indexOfs = this.value.indexOf(".");
var Num = this.value.split('.').length-1;
if(Num>1){
var Length = this.value.length;
$(this).val($(this).val().substr(0,(Length-1)));
}
if(indexOfs == -1){
if(this.value.length>3){
$(this).val($(this).val().substr(0,3));
}
}
}
})
})
</script>
第二种情况:
1.禁止录入任何非数字和点
2.禁止录入两个以上的点
3.禁止录入小数点后point位以上
4.禁止首位数是.
5.禁止录入整数部分两位以上,但首位为0
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>正则表达式</title>
<link rel="stylesheet" href="css/common.css">
<link rel="stylesheet" href="css/dragResize.css">
<link rel="stylesheet" href="css/editor.css">
</head>
<body>
<input type="text" name="city" value="" onKeyUp="regExp(this)"/>
</body>
</html>
<script type="text/javascript">
/**
* 实时动态强制更改用户录入
**/
function regExp(th){
var point = 2
var regStrs = [
['^0(\\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0 如果$1改为0则首位如果是0后面输入数字时不可输入均显示为0
['[^\\d\\.]+$', ''], //禁止录入任何非数字和点
['\\.(\\d?)\\.+', '.$1'], //禁止录入两个以上的点
['^(\\d+\\.\\d{'+point+'}).+', '$1'],//禁止录入小数点后point位以上
['^\\.','']//禁止首位数是.
];
for(var i=0; i<regStrs.length; i++){
var reg = new RegExp(regStrs[i][0]);
th.value = th.value.replace(reg, regStrs[i][1]);
}
}
</script>
相关文章
- JS 逆向 --- 过无限debugge、hook、js混淆还原、控制流混淆
- node.js的request模块
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了 [WPF]为旧版本的应用添加触控支持 js css等静态文件版本控制,一处配置多处更新.net版【原创】 C#图片处理,缩略图制作 SqlDataReader 结果集 转成 DataTable DataTable转成List集合 如何使用linq读取DataTable集合?
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- js正则表达式验证中文,手机号
- react request.js 函数封装
- 炫酷登录注册界面【超级简单 jQuery+JS+HTML+CSS实现】
- uni-app - 最详细 H5 网页接入微信支付功能,提供从详细的示例代码与注释(移动端网页实现微信支付能力,微信公众号前端支付 JSAPI / JS-SDK 详细示例源码)官方最新超级详细教程
- JavaScript - 实现点击按钮复制文本框内容到剪贴板(原生JS)
- JS——正则表达式应用 12306注册界面
- 【HarmonyOS】【JS】【布局】鸿蒙js开发input 输入框弹出输入法时上方布局被挤扁?
- grunt使用watch和livereload的Gruntfile.js的配置
- JS模式:jq中简单的模式--》采摘自js设计(tomxu_version)
- 《Node.js区块链开发》——3.4 DPoS:授权股权证明机制
- JS正则表达式大全(附例子)
- js 保留两位小数,Js四舍五入,JavaScript Math四舍五入
- js数字正则表达式,js小数正则表达式
- js正则表达式学习和总结(必看篇)
- JS 正则表达式常用方法
- JS快速将对象中所有键赋值为空
- input输入框匹配数字(带两位小数) js--金额匹配
- 【不得不看的几种js监听浏览器返回,关闭,刷新】
- JS 正则表达式转换字符串
- 彻底搞清楚javascript中的require、import和export(js模块加载规范的前世今生)
- JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法
- js如何给ul的所有的li绑定事件,打印他们的索引
- css,js文件后面加一个版本号
- JQuery/JS插件 linq.js 入门
- Three.js Example 注解 —— misc_uv_tests.html