JS+CSS设置text只能输入数字

<SCRIPT LANGUAGE="JavaScript">
<!--
    var isIE = false;
    var isFF = false;
    var isSa = false;
    if ((navigator.userAgent.indexOf("MSIE") > 0)
            && (parseInt(navigator.appVersion) >= 4))
        isIE = true;
    if (navigator.userAgent.indexOf("Firefox") > 0)
        isFF = true;
    if (navigator.userAgent.indexOf("Safari") > 0)
        isSa = true;
    function onlyNumber(e) {
        var key;
        iKeyCode = window.event ? e.keyCode : e.which;
        if (!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 13)
                || (iKeyCode == 46) || (iKeyCode == 45) || (iKeyCode == 37)
                || (iKeyCode == 39) || (iKeyCode == 8)))
        {
            if (isIE) {
                e.returnValue = false;
            } else {
                e.preventDefault();
            }
        }
    }
//-->
</SCRIPT>

 

<input type="text" onkeypress="return onlyNumber(event)">

 

<SCRIPT LANGUAGE="JavaScript">
<!--
    var isIE = false;
    var isFF = false;
    var isSa = false;
    if ((navigator.userAgent.indexOf("MSIE") > 0)
            && (parseInt(navigator.appVersion) >= 4))
        isIE = true;
    if (navigator.userAgent.indexOf("Firefox") > 0)
        isFF = true;
    if (navigator.userAgent.indexOf("Safari") > 0)
        isSa = true;
    function onlyNumber(e,val) {
        
        var key;
        iKeyCode = window.event ? e.keyCode : e.which;
        if (!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 13)
                || (iKeyCode == 46) || (iKeyCode == 8)))
        {
            if (isIE) {
                e.returnValue = false;
            } else {
                e.preventDefault();
            }
        }
        var char_str = val.split("");
        var k = 0;
        for(var i=0;i<char_str.length;i++){
            if(char_str[i] == '.') k++;
        }
        if(k > 0 && (iKeyCode == 46)){
            if (isIE) {
                e.returnValue = false;
            } else {
                e.preventDefault();
            }
        }
        var str = val.split(".");
        if(str[1] != null && str[1].length > 1){
            if (isIE) {
                e.returnValue = false;
            } else {
                e.preventDefault();
            }
        }
    }
//-->
</SCRIPT>

 

<s:textfield name="mgrPlan.mgrDisVal" cssClass="text-input validate[required]" 
id="mgrDisVal" cssStyle="width:200px" 
onkeypress="return onlyNumber(event,this.value)">
</s:textfield>

 






另外一个:

=====================

<input type="text" onKeyUp="this.value=this.value.replace(/[^\.\d]/g,'');
if(this.value.split('.').length>2){
this.value=this.value.split('.')[0]+'.'+this.value.split('.')[1]}">
 <%= text_field_tag "close_sight",4,:onKeyPress => "return onlyNumber(event);", :style => "ime-mode:disabled"%>

 

//正整数 
 function onlyNum(obj){
    console.log(obj.value);
    obj.value = obj.value.replace(/[^\d]/gi, "");
}


//正、负整数
function numHasPlus(obj){
    //取第一位数字别人
    var t = obj.value.charAt(o);
   
    //替换掉不是数字部分
    var _value = obj.value.replace(/[^\d]/gi, "");
   
    //如果是负数
    if (t == '-') {
        _value = '-' + _value;
    }
   
    //页面
    if (obj.value == _value)
        return;
    obj.value = _value;
}


//小数
function onlyFloat(obj){
    //    obj.value = obj.value.replace(/[^(?\d+)(\.\d+)?]/gi, "");
    var regex = /^[+|-]?\d*\.?\d*$/;
    if (regex.match(obj.value)) {
        return;
    }
    var o_value = obj.value.replace(/[^(?\d+)(\.\d+)?]/gi, "");
    if (o_value == '' || o_value == null) {
        obj.value = 0;
        return;
    }
    o_value = o_value.toString();
    var o_array = o_value.split('.');
    var m_value = 0.0;
    if (o_array.size() <= 1) {
        m_value = parseFloat(o_array[0]);
    }
    else {
        m_value = parseFloat(Nan(o_array[0] + '.' + o_array[1]));
    }
    if (obj.value == m_value)
        return;
    obj.value = m_value;
}

 

<INPUT CLASS="textbox" TYPE="text" STYLE="ime-mode:disabled">

 

不管你进来的时候是什么输入法,输入的都是英文

ime-mode语法:

ime-mode : auto | active | inactive | disabled
取值:
auto :  默认值。不影响IME的状态。与不指定 ime-mode 属性时相同
active :  指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME
inactive :  指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME
disabled :  完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME

text-transform语法:


text-transform : none | capitalize | uppercase | lowercase
取值:
none :  默认值。无转换发生
capitalize :  将每个单词的第一个字母转换成大写,其余无转换发生
uppercase :  转换成大写
lowercase :  转换成小写
posted @ 2012-09-27 19:54  残星  阅读(3954)  评论(0编辑  收藏  举报