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>
原文地址:https://www.cnblogs.com/wang7/p/2630729.html