第一种情况:且限制小数点前最大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+).(ddd).*$/,'$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>