日期:2014-05-17  浏览次数:20674 次

!精,急求一个只能输入数字或小数点的正则表达式
求一个只能输入数字或小数点的正则表达式
求一个只能输入数字或小数点的正则表达式

------解决方案--------------------
控件上加这个属性onkeypress="return doDecimal(event,this)"
HTML code

////////////////////////////////////////////////////////////////////////////////
//text 必须只能输入数字,小数点,负号
//参数
//    e 键盘事件
//    obj 文本框内容

//返回值      判断是否是数字,小数点,负号
////////////////////////////////////////////////////////////////////////////////
function doDecimal(e,obj) {
    var keynum,keychar;
    if(window.event) {
        // IE 
        keynum = e.keyCode;
    }
    else if(e.which) {
        // Netscape/Firefox/Opera 
        keynum = e.which;
    }
    keychar = String.fromCharCode(keynum);
    if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)){
        // 不是数字,小数点(.),负号(-) 
        return false;
    }else if(event.keyCode==46 && obj.value.indexOf(".") > 0){
        // 已经存在小数点(.)
        return false;
    }else if(event.keyCode==45 && obj.value.indexOf("-") > 0){
        // 已经存在负号(-) 
        return false;
    }else{
        return true;
    }
}

------解决方案--------------------
js "234.4".match(/[\d.]/);