只能输入数字

控制在input的text里输入的值只能是数字

ASK:写一个小程序,在input的type="text"里控制只能输入数字,如果输入其他字符则会出现提示框!请问怎么做啊?

几种方法:



1、

<script language=java script>
function onlyNum()
{
 if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
  if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
    event.returnValue=false;
}
</script>

<input onkeydown="onlyNum();">


2、
<script>
function check(){
  if (isNaN(tt.value))
  {alert("非法字符!");
  tt.value="";}
}
</script>
<input type="text" name="tt" onkeyup="check();">

3、

<script language=jscript>
function number()
{
var char = String.fromCharCode(event.keyCode)
var re = /[0-9]/g
event.returnValue = char.match(re) != null ? true : false
}

function filterInput()
{
if (event.type.indexOf("key") != -1)
{
var re = /37|38|39|40/g
if (event.keyCode.toString().match(re)) return false
}
event.srcElement.value = event.srcElement.value.replace(/[^0-9]/g, "")
}

function filterPaste()
{
var oTR = this.document.selection.createRange()
var text = window.clipboardData.getData("text")
oTR.text = text.replace(/[^0-9]/g, "")
}
</script>

<input onkeypress="number()" onkeyup="filterInput()" onchange="filterInput()" onbeforepaste="filterPaste()" onpaste="return false" style="ime-mode: disabled">


常用的全角字符的正则表达式是[/u530-/uFFFFFF],中文[/u4E00-/u9FA5]
这里有一篇关于中日韩的汉字分布信息(英语): http://www.nease.net/~stonec/hanzi/cjkinf.txt

 

4、允许小数点跟数字:

<input onKeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">

5、另一个不错的:
<input onkeypress="return(event.keyCode>=48&&event.keyCode<=57)" style="ime-mode:disabled" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^/d]/g,’’))">

全角符号范围:
/uFF00-/uFFFF

6、只允许输入汉字:

<input onkeypress=return(false) onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,’’)">

7、推荐的:

<input onkeypress="return event.keyCode>=48&&event.keyCode<=57" onpaste="return !clipboardData.getData(’text’).match(//D/)" style="ime-mode:disabled" ondragenter="return false">

可以用Javascript对文本框进行检查,过滤掉非0-9的字符。

  <script language="javascript" event="onkeydown" for="document">
        if(event.srcElement.name=='TextBox1')
        {
              if(!KeyIsNumber(event.keyCode))
              {
                   return false;//这句话最关键
              }
        }

</script>

<script language="javascript">

function KeyIsNumber(KeyCode)
{

    //如果输入的字符是在0-9之间,或者是backspace、DEL键
    if(((KeyCode>47)&&(KeyCode<58))||(KeyCode==8)||(KeyCode==46))
    {
          return true;
    }
    else
    {
          return false;
     }
}

</script>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值