欢迎光临
我们一直在努力

超级实用的几种表单校验效果收集_心得技巧教程

建站超值云服务器,限时71元/月

只能是写限定的东西


 


程序代码:


 


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
}
table.list{
cursor: default;
border:1px solid #cccccc
background-color: #cccccc;
border-collapse: collapse;
border-Color: #cccccc;
}
</style>
<script language=javascript>
// Coded by windy_sk <windy_sk@126.com> 20040205


function reportError(msg,url,line) {
var str = You have found an error as below: \n\n;
str += Err: + msg + on line: + line;
alert(str);
return true;
}


window.onerror = reportError;



document.onkeydown = function() {
if(event.ctrlKey){
switch(event.keyCode) {
case 82: //r
runcode();
break;
case 83: //s
savecode();
break;
case 71: //g
goto(prompt(Please input the line number, 1));
break;
case 65: //a
document.execCommand(SelectAll);
break;
case 67: //c
document.execCommand(Copy);
break;
case 88: //x
document.execCommand(Cut);
break;
case 86: //v
document.execCommand(Paste);
break;
case 90: //z
document.execCommand(Undo);
break;
case 89: //y
document.execCommand(Redo);
break;
default:
break;
}
event.keyCode = 0;
event.returnValue = false;
}
return;
}



function show_ln(){
var txt_ln = document.getElementById(txt_ln);
var txt_main = document.getElementById(txt_main);
txt_ln.scrollTop = txt_main.scrollTop;
while(txt_ln.scrollTop != txt_main.scrollTop) {
txt_ln.value += (i++) + \n;
txt_ln.scrollTop = txt_main.scrollTop;
}
return;
}



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)
// 出错检验代码~~~~~~
if(sel.parentElement() != tmp.parentElement()) return;
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)
// 出错检验代码~~~~~~
if(sel.parentElement() != tmp.parentElement()) return;
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)
// 出错检验代码~~~~~~
if(sel.parentElement() != tmp.parentElement()) return;
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;
}
return;
}



function runcode() {
var str = document.getElementById(txt_main).value;
var code_win = window.open(about:blank);
code_win.document.open();
code_win.document.writeln(<script>);
code_win.document.writeln(function reportError(msg,url,line){\nline-=14;\nvar str=You have found an error as below: \\n\\n;\nstr+=Err: +msg+ on line: +(line);\nalert(str);\nopener.goto(line);\nopener.focus();\nwindow.onerror=null;\nsetTimeout(self.close(),10);\nreturn true;\n});
code_win.document.writeln(window.onerror = reportError;);
code_win.document.writeln(<\/script>);
code_win.document.writeln(str);
code_win.document.close();
return;
}



function savecode() {
var str = document.getElementById(txt_main).value;
var code_win = window.open(about:blank,_blank,top=10000);
code_win.document.open();
code_win.document.writeln(str);
code_win.document.close();
code_win.document.execCommand(saveas,,code.html);
code_win.close();
return;
}



function goto(ln) {
if(!/^\d+$/.test(ln)) return;
var obj = document.getElementById(txt_main);
var rng = obj.createTextRange();
var arr = obj.value.replace(/\r/, ).split(/\n/);
if(ln>arr.length) ln = arr.length;
var str_tmp = ;
for(var i=0; i<ln-1; i++) {
str_tmp += arr[i];
}
rng.moveStart(character,str_tmp.length+1);
str_tmp = ;
for(i=ln; i<arr.length; i++) {
str_tmp += arr[i];
}
rng.moveEnd(character,-str_tmp.length);
rng.select();
return;
}


window.onload = function() {document.getElementById(txt_main).value = <script>\nalert()\n<\/script>;}
</script>
<BODY>
<table width=600 class=list border=1 bgcolor=#eeeeee bordercolorlight=#000000 bordercolordark=#FFFFFF cellpadding=0 cellspacing=0>
<tr bgcolor=#cccccc>
<td colspan=2 height=20 align=center><b>Debug Textarea</b></td>
</tr>
<tr>
<td colspan=2>
<table width=95% border=0 align=center >
<tr>
<td align=center><br />
<textarea id=txt_ln name=content rows=10 style=width:40px;overflow:hidden;height:200px;border-right:0px;text-align:right;line-height:14px onselectstart=this.nextSibling.focus();return false readonly></textarea><textarea id=txt_main name=content rows=10 cols=80 onkeydown=editTab() onkeyup=show_ln() onscroll=show_ln() wrap=off style=overflow:auto;height:200px;padding-left:5px;border-left:0px;line-height:14px></textarea>
<script>for(var i=1; i<=20; i++) document.getElementById(txt_ln).value += i + \n;</script>
</td>
</tr>
<tr>
<td align=center><br />
<input type=button value= 运 行 onclick=runcode() accesskey=r>  
<input type=button value= 保 存 onclick=savecode() accesskey=s>  
<input type=button value= 跳 转 onclick=goto(prompt(Please input the line number, 1)) accesskey=g>  
</td>
</tr>
</table>
</td>
</tr>
</table>
</BODY>
</HTML>


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


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>


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


 


 


 


获取input的非value值,而是显示文本值


 


程序代码:
<select name=sss onChange=alert(this.options[this.selectedIndex].text)>
<option value=1>asdf</option>
<option value=2>bbbb</option>
<option value=3>ccc</option>
</select>


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


 


 


 


select里的option进行分类列表


 


程序代码:
<span style=position:absolute;border:1px inset #d3d6d9><select style=margin:-2px; width:200px>
<option selected>————请选择————</option>
<optgroup label=JavaScript&VBScript区>
<option>原 创
<option>经 典
<optgroup label=后台区>
<option>asp&sql
<option>php&mysql
</select></span>


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


动态添加


 


程序代码:<form name=myForm method=post> <select name=dept_company size=10 multiple id=dept_company class=mySelect> <option value=>Please Select…</option> <option value=a>AA</option> <option value=b>BB</option> <option value=c>CC</option> </select><input name=dept_company_list type=hidden> <input name=button type=button class=myButton onClick=addItem(dept_company,dept_company2) value=添加–>>> <input name=button type=button class=myButton onClick=deleteItem(dept_company2,dept_company) value=<<–删除> <select name=dept_company2 size=10 multiple id=dept_company2 class=mySelect> </select> </form> <script> function addItem(fromName,toName){ eval(var obj1=myForm.+fromName); eval(var obj2=myForm.+toName); obj1.options[0].selected=false; if(obj1.selectedIndex == -1) return false; var tempValue; var tempText; for(var i=1;i<obj1.length;i++){ //begin from 1 if(obj1.selectedIndex == -1)break; tempValue=obj1.options[obj1.selectedIndex].value; tempText=obj1.options[obj1.selectedIndex].text; obj1.options[obj1.selectedIndex]=null; obj2.add(new Option(tempText,tempValue),0); } } function deleteItem(fromName,toName){ eval(var obj1=myForm.+fromName); eval(var obj2=myForm.+toName); if(obj1.selectedIndex == -1) return false; var tempValue; var tempText; for(var i=0;i<obj1.length;i++){ //begin from 0 if(obj1.selectedIndex == -1)break; tempValue=obj1.options[obj1.selectedIndex].value; tempText=obj1.options[obj1.selectedIndex].text; obj1.options[obj1.selectedIndex]=null; obj2.add(new Option(tempText,tempValue),1); //addItem index is 1 } } </script>


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


 


 


 


提示限制输入的字符数


 


程序代码:
<script language=JavaScript>
<!–


function SymError()
{
return true;
}


window.onerror = SymError;


function strlength(str){
var l=str.length;
var n=l
for (var i=0;i<l;i++)
{
if (str.charCodeAt(i)<0||str.charCodeAt(i)>255) n++
}
return n
}


function changebyte(value,length){
var l=strlength(value)
if (l<=length) {
if (document.all!=null) document.all(byte).innerText=还可以输入+(length-l)+字节
}
else
{
document.all(byte).innerText=输入字节数超出范围
}
return true
}


function changebyte1(value,length){
var l=strlength(value)
if (l<=length) {
if (document.all!=null) document.all(byte1).innerText=还可以输入+(length-l)+字节
}
else
{
document.all(byte1).innerText=输入字节数超出范围
}
return true
}


function changebyte2(value,length){
var l=strlength(value)
if (l<=length) {
if (document.all!=null) document.all(byte2).innerText=还可以输入+(length-l)+字节
}
else
{
document.all(byte2).innerText=输入字节数超出范围
}
return true
}
</script>
<form method=post name=test onSubmit=return checkdata() action=>
<TEXTAREA onkeydown=return changebyte1(document.test.icqcontent.value,198) onkeyup=return changebyte1(document.test.icqcontent.value,198) name=icqcontent cols=40 rows=3></TEXTAREA>
<SPAN id=byte1><SCRIPT language=JavaScript>changebyte1(document.test.icqcontent.value,198);</SCRIPT></SPAN>
</form>


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


判断填写字数的限制


 


程序代码:
<script language=javascript>
function gbcount(message,total,used,remain)
{
var max;
max&n, bsp;= total.value;
if(message.value.length > max){
message.value = message.value.substring(0,max);
used.value = max;
remain.value = 0;
alert(留言不能超过规定的字数!);
}
else{
used.value = message.value.length;
remain.value = max – used.value;
}
}
</script>


<form name=myform >
<textarea name=GuestContent cols=59 rows=6 onkeydown=gbcount(this.form.GuestContent,this.form.total,this.form.used,this.form.remain); onkeyup=gbcount(this.form.GuestContent,this.form.total,this.form.used,this.form.remain);></textarea>
最多字数:<INPUT disabled maxLength=4 name=total size=3 value=20>
已用字数:<INPUT disabled maxLength=4 name=used size=3 value=0>
剩余字数:<INPUT disabled maxLength=4 name=remain size=3>
</form>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 超级实用的几种表单校验效果收集_心得技巧教程
分享到: 更多 (0)