5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:
性别:秘密
最后登录:2008-10-28
http://kafeichong.5d.cn/
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2005/07/26 | input相关!比如数字的输入
类别(javascript)
|
评论
(0)
|
阅读(528)
|
发表于 23:07
今天钱大人问问题!我有写竟然不知!圣人说知之为知之,不知为不知!那我就说了不知道了!谁
知道他竟然下线好没面子!
没面子的事已经过去了!可是以后再遇到这样的事情可就不能。。。。。。。
呵呵 !
<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
0
评论
Comments
日志分类
首页
[223]
javascript
[29]
asp
[62]
常识
[12]
SQL
[8]
文学
[2]
Dreamweaver
[22]
网页设计
[25]
flash
[20]
片言碎语
[21]
php
[6]
web standard
[16]