正则表达式:各类数值

只允许两位小数点

<input id="Price" class="easyui-validatebox" onkeyup="check(this)" type="text" onafterpaste="check(this)" data-options="required:true" />


function check(obj) {
        var id = obj.id;
        var val = obj.value;
        var regStrs = [
          ['^0(\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0  
          ['[^\d\.]+$', ''], //禁止录入任何非数字和点  
          ['\.(\d?)\.+', '.$1'], //禁止录入两个以上的点  
          ['^(\d+\.\d{2}).+', '$1'] //禁止录入小数点后两位以上  
        ];
        for (i = 0; i < regStrs.length; i++) {
            var reg = new RegExp(regStrs[i][0]);
            obj.value = obj.value.replace(reg, regStrs[i][1]);
        }
    }

 其他

1、只允许输入数字

<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">

2、只允许输入大于0的正整数

<input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^0-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^0-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}">

3、数字小数点

<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">

资料:

http://www.jb51.net/article/51102.htm

原文地址:https://www.cnblogs.com/xmai/p/7206450.html