您当前的位置:KKBlog > 学无止境 > WEB前端

js 实用的表单校验效果 event.keyCode

只能是写限定的东西

程序代码:

ENTER键可以让光标移到下一个输入框

<input onkeydown='if(event.keyCode==13)event.keyCode=9' >

只能是中文<input onkeyup='value=value.replace(/[ -~]/g,'')' onkeydown='if

(event.keyCode==13)event.keyCode=9'>

只能是英文和数字.屏蔽了输入法<input style='ime-mode:disabled' onkeydown='if(event.keyCode==13)event.keyCode=9'>

只能输入英文和数字<input onkeyup='value=value.replace(/[\W]/g,'') 'onbeforepaste='clipboardData.setData('text',clipboardData.
getData('text').replace(/[^\d]/g,''))' onkeydown='if
(event.keyCode==13)event.keyCode=9'>

只能是数字<input onkeyup='value=value.replace(/[^\d]/g,'') 'onbeforepaste='clipboardData.setData('text',clipboardData.
getData('text').replace(/[^\d]/g,''))'>

只能显示,不能修改的文本框<input readOnly value='只能显示,不能修改'>

*************************************************************

只能是数字,判断按键

程序代码:

<script language=javascript>

function onlyNum()

{

if(!((event.keyCode>=48&&event.keyCode<=57)||
(event.keyCode>=96&&event.keyCode<=105)||(event.keyCode==8)))

event.returnValue=false;

}

</script>

<input onkeydown='onlyNum();'>

*************************************************************

附:获取键盘的KeyCode

程序代码:

<html>

<head>

<script language='javascript'>

ns4 = (document.layers) ? true : false;

ie4 = (document.all) ? true : false;

function keyDown(e){

if(ns4){

var nkey=e.which;

var iekey='现在是ns浏览器';

var realkey=String.fromCharCode(e.which);

}

if(ie4){

var iekey=event.keyCode;

var nkey='现在是ie浏览器';

var realkey=String.fromCharCode(event.keyCode);

if(event.keyCode==32){realkey='\' 空格\''}

if(event.keyCode==13){realkey='\' 回车\''}

if(event.keyCode==27){realkey='\' Esc\''}

if(event.keyCode==16){realkey='\' Shift\''}

if(event.keyCode==17){realkey='\' Ctrl\''}

if(event.keyCode==18){realkey='\' Alt\''}

}

alert('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+
iekey+'\n'+'实际键为'+realkey);

}

document.onkeydown = keyDown;

if(ns4){

document.captureEvents(Event.KEYDOWN);}

</script>

</head>

<body>

//Javascript Document.

<hr>

<center>

<h3>请按任意一个键。。。。</h3>

</center>

</body>

</html>

*************************************************************

限制网页用键盘

程序代码:

<body onkeydown='alert('禁用');return false;'>

限制键盘的某个键:body onkeydown='if(event.keyCode==num)
{alert('禁用');return false;}

再加个找按键的值

程序代码:

<script>

function show(){

alert('ASCII代码是:'+event.keyCode);

}

</script>

<body onkeydown='show()'>

*************************************************************

只能是IP地址

程序代码:

<html>

<head>

<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>

<meta name='GENERATOR' content='Microsoft FrontPage 4.0'>

<meta name='ProgId' content='FrontPage.Editor.Document'>

<style>

.a3{width:30;border:0;text-align:center}

</style>

<script>

function mask(obj){

obj.value=obj.value.replace(/[^\d]/g,'')

key1=event.keyCode

if (key1==37 || key1==39)

{ obj.blur();

nextip=parseInt(obj.name.substr(2,1))

nextip=key1==37?nextip-1:nextip+1;

nextip=nextip>=5?1:nextip

nextip=nextip<=0?4:nextip

eval('ip'+nextip+'.focus()')

}

if(obj.value.length>=3)

if(parseInt(obj.value)>=256 || parseInt(obj.value)<=0)

{

alert(parseInt(obj.value)+'IP地址错误!')

obj.value=''

obj.focus()

return false;

}

else

{ obj.blur();

nextip=parseInt(obj.name.substr(2,1))+1

nextip=nextip>=5?1:nextip

nextip=nextip<=0?4:nextip

eval('ip'+nextip+'.focus()')

}

}

function mask_c(obj)

{

clipboardData.setData('text',clipboardData.getData('text').
replace(/[^\d]/g,''))

}

</script>

<title>IP地址输入</title>

</head>

<body>IP地址输入

<div style='border-width:1;border-color:balck;border-style:solid;
width:165;font-size:9pt'>

<input type=text name=ip1 maxlength=3 class=a3 onkeyup='mask(this)'
onbeforepaste=mask_c()>.

<input type=text name=ip2 maxlength=3 class=a3 onkeyup='mask(this)'
onbeforepaste=mask_c()>.

<input type=text name=ip3 maxlength=3 class=a3 onkeyup='mask(this)'
onbeforepaste=mask_c()>.

<input type=text name=ip4 maxlength=3 class=a3 onkeyup='mask(this)'
onbeforepaste=mask_c()>

</div>

</body>

</html>

*************************************************************

用#default#savehistory防止后退清空text文本框

程序代码:

<HTML>

<HEAD>

<META NAME='save' CONTENT='history'>

<STYLE>

.saveHistory {behavior:url(#default#savehistory);}

</STYLE>

</HEAD>

<BODY>

<INPUT class=saveHistory type=text id=oPersistInput>

<input type=button onclick='javascript:location.href='
http://www.cnbruce.com/red/'' value='点击进入,再按后退键试试?'>

</BODY>

</HTML>

*************************************************************

TEXTAREA自适应文字行数的多少

程序代码:

<textarea rows=1 name=s1 cols=27 onpropertychange='this.style.
posHeight=this.scrollHeight'>

*************************************************************

上传预览图片

程序代码:

<img id=pic src=http://www.cnbruce.com/images/logo.gif>

<input type=file name=file><input type=button onclick=pic.
src=file.value value=预览图片>

<input type=button onclick=alert(file.value) value=图片地址>

<input type=button onclick='file.outerHTML=file.outerHTML.
replace(/value=\w/g,'')' value='清除file里字'>

*************************************************************

去掉下拉选项的边框

程序代码:

<div style='position: absolute; left: 10px; top: 10px; width:
115px; height: 20px; clip:rect(2 114 20 2);'>

<select>

<option >cnpeople</option>

<option >cnrose</option>

<option >cnbruce</option>

</select>

</font>

</div>

*************************************************************

下拉列表打开窗口

程序代码:

<select onChange='if(this.selectedIndex && this.selectedIndex!=0){window.open(this.value);}this.selectedIndex=0;'>

<option selected>更多链接……</option>

<option value='http://www.cnbruce.com'>cnbruce</option>

<option value='http://daonet.myrice.com/old/'>daonet</option>

<option value='http://www.blueidea.com'>blue!dea

</select>

*************************************************************

TAB的显示

程序代码:

<script> function editTab() { var code, sel, tmp, r var
tabs='' event.returnValue = false sel =event.srcElement.document.
selection.createRange() r = event.srcElement.createTextRange()
switch (event.keyCode) { case (8) : if (!(sel.getClientRects().
length > 1)) { event.returnValue = true return } code = sel.text tmp =
sel.duplicate() tmp.moveToPoint(r.getBoundingClientRect().left,
sel.getClientRects()[0].top) sel.setEndPoint('startToStart', tmp)
sel.text = sel.text.replace(/^\t/gm, '') code = code.replace
(/^\t/gm, '').replace(/\r\n/g, '\r') r.findText(code) r.select()
break case (9) : if (sel.getClientRects().length > 1) { code =
sel.text tmp = sel.duplicate() tmp.moveToPoint
(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
sel.setEndPoint('startToStart', tmp) sel.text = '\t'+sel.text.
replace(/\r\n/g, '\r\t') code = code.replace(/\r\n/g, '\r\t')
r.findText(code) r.select() } else { sel.text = '\t' sel.select
() } break case (13) : tmp = sel.duplicate() tmp.moveToPoint
(r.getBoundingClientRect().left, sel.getClientRects()[0].top)
tmp.setEndPoint('endToEnd', sel) for (var i=0; tmp.text.match
(/^[\t]+/g) && i<tmp.text.match(/^[\t]+/g)[0].length; i++)
tabs += '\t' sel.text = '\r\n'+tabs sel.select() break default
: event.returnValue = true break } } </script>
<textarea cols=75 rows=20 onkeydown='editTab()'> <script>
alert('ok') </script> </textarea>

*************************************************************

文本框的上/下拉

程序代码:

<form name='cnbruce'>

<textarea name='com'>

</textarea>

</form>

<SPAN title='放大输入框' style='FONT-SIZE: 12px;
CURSOR: hand' onclick=document.cnbruce.com.rows+=4>向下</SPAN>

<SPAN title='缩小输入框' style='FONT-SIZE: 12px; CURSOR: hand'
class='arrow' onclick='if(document.cnbruce.com.rows>=4)
document.cnbruce.com.rows-=4;else return false'>向上</SPAN>

*************************************************************

一个复选框,点击之后一组复选框全部都选上

程序代码:

<input type='checkbox' name='checkA' onpropertychange='for
(i=0;i<A.children.length;i++){A.children[i].
checked=this.checked}'>a <br> <span id='A'>
<input type='checkbox' name='A1'> <input type='checkbox' name='A2'>
<input type='checkbox' name='A3'> </span>

*************************************************************

Debug Textarea:在线写 js 脚本的时候,用来即时查错的东西!

程序代码:

<HTML>

<HEAD>

<TITLE>Debug Textarea</TITLE>

<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>

</HEAD>

<style>

* {

font-size: 12px

}

body {

margin: 10px; padding: 0px


 
二维码
意见反馈 二维码