咖啡虫之家
我的日历
友情链接
访问计数
最新评论
获取RSS
我的 Blog:
[javascript]
[asp]
[常识]
[SQL]
[文学]
[Dreamweaver]
[网页设计]
[flash]
[片言碎语]
[php]
[web standard]
全站 Blog:
input相关!比如数字的输入
Author:咖啡虫 PublishTime:2005-7-26
今天钱大人问问题!我有写竟然不知!圣人说知之为知之,不知为不知!那我就说了不知道了!谁
知道他竟然下线好没面子!
没面子的事已经过去了!可是以后再遇到这样的事情可就不能。。。。。。。
呵呵 !
<script language=javascript> function onlyNum() { if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) event.returnValue=false; } </script> <input onkeydown="onlyNum();">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
上面一些语法解释:&&逻辑与;||逻辑或;()运算符大于所有运算符;
<B>在来一个<b>
<script language=javascript> 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();">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
代码附注:46(.);37(%);39(');48-57(0--9)
再来一个!不过这个只对字符起作用,对其它控制符就。。。。。
<script> function check(){ if (isNaN(tt.value)) {alert("非法字符!"); tt.value="";} } </script> <input type="text" name="tt" onkeyup="check();">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
下面的一些方法涉及到正则
以待研究:
<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">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
另外,常用的全角字符的正则表达式是[/u530-/uFFFFFF],中文[/u4E00-/u9FA5]
这里还有一篇关于中日韩的汉字分布信息(英语):http://www.nease.net/~stonec/hanzi/cjkinf.txt
<html>
<input onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-
mode:Disabled">
[/html]
<input onkeypress="return(event.keyCode>=48&&event.keyCode<=57)" style="ime-mode:disabled" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/ [^\d]/g,''))">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
<input onkeypress="return event.keyCode>=48&&event.keyCode<=57" onpaste="return ! clipboardData.getData('text').match(/\D/)" style="ime-mode:disabled" ondragenter="return false">
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
onkeydown=return(false)是为了取消非中文输入,中文输入不管onkeydown的,IE6+XP通过
原因:
1.只允许输入数字
2.禁止汉字
3.允许paste,但不破坏clipboard
4.禁止drag
分类于:
javascript
Powered by
5DBlog.com