您的位置:首页 > Web前端 > CSS

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

2012-09-27 19:54 375 查看
<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 :  转换成小写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: