js 实用的表单校验效果 event.keyCode
只能是写限定的东西
程序代码:
ENTER键可以让光标移到下一个输入框
只能是中文
(event.keyCode==13)event.keyCode=9'>
只能是英文和数字.屏蔽了输入法
只能输入英文和数字
getData('text').replace(/[^\d]/g,''))' onkeydown='if
(event.keyCode==13)event.keyCode=9'>
只能是数字
getData('text').replace(/[^\d]/g,''))'>
只能显示,不能修改的文本框
*************************************************************
只能是数字,判断按键
程序代码:
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
程序代码:
<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='if(event.keyCode==num)
{alert('禁用');return false;}
再加个找按键的值
程序代码:
function show(){
alert('ASCII代码是:'+event.keyCode);
}
</script>
<body onkeydown='show()'>
*************************************************************
只能是IP地址
程序代码:
<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文本框
程序代码:
<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自适应文字行数的多少
程序代码:
posHeight=this.scrollHeight'>
*************************************************************
上传预览图片
程序代码:
<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里字'>
*************************************************************
去掉下拉选项的边框
程序代码:
115px; height: 20px; clip:rect(2 114 20 2);'>
<select>
<option >cnpeople</option>
<option >cnrose</option>
<option >cnbruce</option>
</select>
</font>
</div>
*************************************************************
下拉列表打开窗口
程序代码:
<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的显示
程序代码:
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>
*************************************************************
文本框的上/下拉
程序代码:
<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>
*************************************************************
一个复选框,点击之后一组复选框全部都选上
程序代码:
(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 脚本的时候,用来即时查错的东西!
程序代码:
<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