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>

上一篇:Android 的Google+平台


下一篇:mybatis配置文件详解