js总结
1,显示时钟
显示时钟可以自己编写函数,还可以使用系统提供的函数toLocaleString()直接将时间转为本地时间。
(1)
自定义函数
function showTime(id)//id为html标签的id { var t=new Date(); str=t.getFullYear()+"年"+(t.getMonth()+1)+"月"+t.getDate()+"日\n"; str+="星期"+'日一二三四五六'.charAt(t.getDay())+"\r"; str+=t.getHours()+"时"+t.getMinutes()+"分"+t.getSeconds()+"秒"; document.getElementById(id).innerHTML=str; window.setInterval(function(){showTime(id);},1000); }
(2)
功能函数
<script type="text/javascript"> function showTime(id)//id为html标签的id { var curTime=new Date(); document.getElementById(id).innerHTML = curTime.toLocaleString(); window.setInterval(function(){showTime(id);},1000); } </script>
2,正则查找字符
查找字符串可以使用简单的正则,也可以使用string.indexOf(),下面是正则:
正则
<script type="text/javascript"> var str="i love you,my dear"; var patt1=new RegExp("love");//定义正则对象1 var patt2=new RegExp("lofe");//定义正则对象2 document.write(patt1.test(str)+"<br />");//str中是否含patt1,返回true document.write(patt2.test(str)+"<br />");//返回false document.write(patt1.exec(str)+"<br />");//str中是否含有patt1,返回love document.write(patt2.exec(str)+"<br />");//返回null //compile() 既可以改变检索模式,也可以添加或删除第二个参数。 patt1.compile("loff");//改变patt1的检索模式 document.write(patt1.exec(str)+"<br />");//返回null </script>
3,设置cookie,获取cookie,检查cookie
View Code
<html> <head> <script type="text/javascript"> function checkCookie() { name=getCookie('username');//获得名为username的cookie值 if(name!=null&&name!="") alert("欢迎您:"+name); else { name=prompt("请输入您的名字:",""); if(name!=null&&name!="") setCookie('username',name,365);//设置名为username的cookie365天 } } function getCookie(name) { start=document.cookie.indexOf(name+"=");//得到起始位置 if(start!=-1) //存在这个cookie { start=start+name.length+1;//获取值的位置 end=document.cookie.indexOf(";",start);//从start开始找分号 if(end==-1) end=document.cookie.length;//没有找到,得到cookie尾部位置 return unescape(document.cookie.substring(start,end));//得到start到end的字符串 //unescape对编码的cookie解码 } else return "";//不存在这个cookie } function setCookie(name,value,expireday) { var time= new Date(); time.setDate(time.getDate()+expireday);//加上设置的天数 document.cookie=name+"="+escape(value)+ ((expireday==null)? "" : "; expires="+time.toGMTString()); //此处因为将expireday写成expiredays,结果没有设置成功。使用firebug单步调试才发现这个错误。 } </script> </head> <body onLoad="checkCookie()"> js操作cookie很重要 </body> </html>
(1)调试js使用火狐的firebug,按住F12弹出调试窗口,在"脚本"里可以抓取到js,按F8继续,F10单步跳过,F11单步进入,鼠标右击可以添加断点。
(2)清除cookie,火狐----工具-----清除最近历史记录----选中cookie
4 ,js验证表单为空。
js验证表单为空
<html> <head> <script type="text/javascript"> //验证name为field的输入标签是否为空,alerttxt是提示文字 function validate_required(field,alerttxt) { var tag=document.getElementById(field); if(tag.value==null||tag.value=="") { alert(alerttxt); tag.focus();return false;} else { return true;} } function validate_form() { if(validate_required('name',"名字不能为空")==false) return false; if(validate_required('phone',"电话不能为空")==false) return false; } </script> </head> <body> <form action="submitpage.htm" onsubmit="return validate_form()" method="post"> name: <input type="text" id="name" name="name" size="30"> phone <input type="text" id="phone" name="phone" size="30"> <input type="submit" value="Submit"> </form> </body> </html>
5,js验证邮件格式是否正确
View Code
<html> <head> <script type="text/javascript"> //验证邮件是否符合格式,输入的数据必须包含 @ 符号和点号(.) //同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号 function validate_email(field,alerttxt) { var tag=document.getElementById(field); var value=tag.value; var apos=value.indexOf("@"); var dotpos=value.lastIndexOf("."); if(apos<1||dotpos-apos<2) {alert(alerttxt);tag.focus();return false;} else return true; } function validate_form() { if(validate_email('email',"邮件地址格式不正确")==false) return false; } </script> </head> <body> <form action="submitpage.htm"onsubmit="return validate_form();" method="post"> Email: <input type="text" id="email" name="email" size="30"> <input type="submit" value="Submit"> </form> </body> </html>