代码改变世界

正则表达式:各类数值

2017-07-19 16:26  huoit  阅读(455)  评论(0编辑  收藏  举报

只允许两位小数点

<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