重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
控制图片的速度可以用时间控制器
平江网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
javascript的setTimeout(),setInterval,clearTimeout( )
setTimeout
定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。
setInterval
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
clearTimeout( )
clearTimout( ) 有以下语法 :
clearTimeout(timeoutID)
要使用 clearTimeout( ), 我们设定 setTimeout( ) 时 , 要给予这 setTimout( ) 一个名称 , 这名称就是 timeoutID , 我们叫停时 , 就是用这 timeoutID 来叫停 , 这是一个自定义名称 , 但很多人就以 timeoutID 为名。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleIdcard Checker/title
script language="javascript"
//身份证验证函数
function checkIdcard(idcard){
var Errors=new Array(
"yes",
"身份证号码位数不对!",
"身份证号码出生日期超出范围或含有非法字符!",
"身份证号码校验错误!",
"身份证地区非法!"
);
var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
var idcard,Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4];
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
} else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard)) return Errors[0];
else return Errors[2];
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if(ereg.test(idcard)){//测试出生日期的合法性
//计算校验位
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3 ;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y,1);//判断校验位
if(M == idcard_array[17]) return Errors[0]; //检测ID的校验位
else return Errors[3];
}
else return Errors[2];
break;
default:
return Errors[1];
break;
}
}
function invoke(idcard){
alert(checkIdcard(idcard));
}
/script
/head
body
input type="radio" name="cardtype" /15 bits
input type="radio" name="cardtype" checked /18 bits
br /
input type="text" id="Idcard"/
input type="button" name="check" value="Check" onclick="invoke(document.getElementById('Idcard').value);"/
/body
/html
用Dreamweaver整了一个, 验证函数是从网上找了个15/18位通用的, 因此那两个radio就没什么用了, 想用的话关键就在checkIdcard函数中的两个case处, checkIdcard返回的是结果信息, 因此用invoke方法调用了一下, 并alert提示出
JS控制A标记的href跳转可以按照以下方法实现:
var a = document.getElementById("aHref");
a.href = '/user';
//取消a标签原先的onclick事件,使a标签点击后通过href跳转(因为无法用js跳转)
a.setAttribute("onclick",'');
//激发标签点击事件OVER
a.click("return false");
1.应该是document.onkeydown=aa; 或者window.onkeydown=function(){aa();};
2.js一次只能捕获一个按键,所以你的判断不可能起作用,因为一个按键的keyCode不可能同时为那么多个数值。所以你要记录最近的5个按键到一个数组,如果keydown的话,放入数组,keyup的话,从数组移除,如果那个数组里面的值满足你的条件,就可以了。但是按住了按键的话,就会不断的触发事件,所以要排除掉已经按了的按键进数组,所以写入数组的反应就会比较慢了。
总之,会出现时灵时不灵的情况。
点击onclick="ka(1),触发函数ka(i),把“1”传到“i”中。
执行for循环,循环数为j,j从1循环到2。
document.getElementById("ka"+j)被执行两次,
得到document.getElementById("ka"+1)和document.getElementById("ka"+2),然后都赋给kall,再使kall都隐藏(kall.style.display="none";)
也就是 id="ka1"和id="ka2"都隐藏。
然后将接收ka(1)中的“1”传到document.getElementById("ka"+ i),得到document.getElementById("ka"+ 1),然后赋给kan,再使kan显示(kan.style.display="block";),也就是使id="ka1"显示。
==============
点击onclick="ka(2),也同理!
(j=1;j=2;j++)的意思是将j的初始值设为1,并且如果j=2时,j自动累加。
最后得到j=1和j=2.
form name="form" method="post" action=""
input type="button" value="删除" onClick="delall();" class="button"
/form
script language="javascript"
function delall(){
if(confirm('确定删除选中的咨询吗?\n注意,删除后无法恢复!')){
this.form.action="UserReview.asp?action=delall" //设置处理程序
this.form.submit(); //提交表单
}
}
/script
注意上面是button 不是submit
若是submit 需要在 form标签上加 onSubmit="delall()"