添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
第一个 文件ajax_txt.asp的代码: (此页是AJAX异步提交txt文本文件的路径到ajax_txt_save.asp页面,并从ajax_txt_save.asp 获取 返回的数据) <!DOCTYPE html PUBLIC "-//W3C//D TD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/D TD /xhtml1-transitional.d td "> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <style type="text/css"> body, td ,th { font-size: 12px; body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; </style> <script type="text/javascript"> //将用户输入异步提交到服务器 function ajaxSubmit(){ // 获取 文件浏览控件中选择的文件路径 var filesname=document.form1.FileName.value; if (filesname=="") alert("请先选择要导入的txt文件!"); document.form1.FileName.focus(); return false; //创建XMLHttpRequest对象 var xmlhttp; xmlhttp=new XMLHttpRequest(); }catch(e){ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //创建请求结果处理程序 xmlhttp.onreadystatechange=function(){ if (4==xmlhttp.readyState){ if (200==xmlhttp.status){ var dates=xmlhttp.responseText; //接收服务端返回的数据 var alldataarr; if (dates=="null") { alert('内容 获取 失败!'); } else { alert('已成功 获取 到txt文本文件中的内容!'); alldataarr = dates.split(","); document.form1.textarea1.value = alldataarr[0]; document.getElementById('num').innerHTML = alldataarr[1]; //清空上传域file document.getElementById('FileName').select(); document.selection.clear(); }else{ alert("error"); //打开连接,true表示异步提交 xmlhttp.open("post", "ajax_txt_save.asp", true); //当方法为post时需要如下设置http头 xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded'); //发送数据 xmlhttp.send("filesname="+escape(filesname)); </script> </head> < div align="center"> <br><font color="#009900" size="3"><b> JS 读取文本文件的内容并赋值给textarea控件</b></font><br><br> <form id="form1" name="form1" action="index.asp?Action=Write" method="post"> <input type="file" id="FileName" name="FileName" size="30"> <input type="button" name="button1" value="导入" onclick="ajaxSubmit();"><br><br> <textarea id="textarea1" name="textarea1" cols="46" rows="20"></textarea> <br><br> 已导入:<font color="#FF0000"><span id="num">0</span></font> 条记录<br><br><br> <input type="submit" name="Submit1" value="提交导入的内容到数据库"> </form> </ div > </body> </html> 第二个 文件ajax_txt_save.asp的代码: (此页是用ASP中的FSO来读取txt文本文件中的内容并输出,为ajax_txt.asp这个页面的AJAX异步 获取 提供数据) '//禁止缓存该页 让AJAX读取该页始终为最新而非过期缓存页 Response.Expires = 0 Response.Expiresabsolute = Now() - 1 Response.AddHeader "pragma","no-cache" Response.AddHeader "cache-control","private" Response.CacheControl = "no-cache" response.Charset="GB2312" '//数据返回的编码类型 显示中文数据必须 Dim objFSO Dim objText Dim ObjFile Dim strTextContent Dim objDrive '创建一个文件操作对象实例 Set objFSO = CreateObject("Scripting.FileSystemObject") '要打开的文件 ObjFile=trim(request("filesname")) '从文浏览控件中 获取 IF objFSO.FileExists(ObjFile) then Set objText = objFSO.OpenTextFile(ObjFile,1) '循环读取数据 While not objText.AtEndOfStream '到文件的末尾 strTextContent = strTextContent & objText.ReadLine() & vbcrlf k=k+1 objText.Close response.write strTextContent & "," & k strTextContent= "文件不存在" response.end() end if 以上代码经测试,100%能使用,且不受浏览器的安全级别限制,祝你好运! var a = str.match(/^(\\d{1,2})(:)?(\\d{1,2})\\2(\\d{1,2})$/); if (a == null) {alert(\'输入的参数不是时间格式\'); return false;} if (a[1]>24 || a[3]>60 || a[4]>60) alert(\"时间格式不对\"); return false return true; 2.2 短日期,形如 (2003-12-05) function strDateTime(str) var r = str.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/); if(r==null)return false; var d= new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.ge tD ate() ==r[4]); 2.3 长时间,形如 (2003-12-05 13:04:06) function strDateTime(str) var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/; var r = str.match(reg); if(r==null)return false; var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.ge tD ate() ==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r [7]); 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 <input onblur=\"if(this.value.replace(/^\\s+|\\s+$/g,\'\')==\'\')alert(\'不能为空!\')\"> 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 <input onblur=\"if(/[^a-zA-Z]/g.test(this.value))alert(\'有错\')\"> 4.2 判断字符由字母和数字组成。 <input onblur=\"if(/[^0-9a-zA-Z]/g.test(this.value))alert(\'有错\')\"> 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 /^([a-zA-z_]{1})([\\w]*)$/g.test(str) 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 window.navigator.appName 5.2 判断ie的版本 window.navigator.appVersion 5.3 判断客户端的分辨率 window.screen.height; window.screen.width; 6、结合类 6.1 email的判断。 function ismail(mail) return(new RegExp(/^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9] +)*\\.[A-Za-z0-9]+$/).test(mail)); 6.2 手机号码的验证 6.3 身份证的验证 function isIdCardNo(num) if (isNaN(num)) {alert(\"输入的不是数字!\"); return false;} var len = num.length, re; if (len == 15) re = new RegExp(/^(\\d{6})()?(\\d{2})(\\d{2})(\\d{2})(\\d{3})$/); else if (len == 18) re = new RegExp(/^(\\d{6})()?(\\d{4})(\\d{2})(\\d{2})(\\d{3})(\\d)$/); else {alert(\"输入的数字位数不对!\"); return false;} var a = num.match(re); if (a != null) if (len==15) var D = new Date(\"19\"+a[3]+\"/\"+a[4]+\"/\"+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.ge tD ate() ==a[5]; var D = new Date(a[3]+\"/\"+a[4]+\"/\"+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4] &&D.ge tD ate()==a[5]; if (!B) {alert(\"输入的身份证号 \"+ a[0] +\" 里出生日期不对!\"); return false;} return true; 3.7 复选框的全选,多选,全不选,反选 <form name=hrong> <input type=checkbox name=All onclick=\"checkAll(\'mm\')\">全选<br/> <input type=checkbox name=mm onclick=\"checkItem(\'All\')\"><br/> <input type=checkbox name=mm onclick=\"checkItem(\'All\')\"><br/> <input type=checkbox name=mm onclick=\"checkItem(\'All\')\"><br/> <input type=checkbox name=mm onclick=\"checkItem(\'All\')\"><br/> <input type=checkbox name=mm onclick=\"checkItem(\'All\')\"><br/><br/> <input type=checkbox name=All2 onclick=\"checkAll(\'mm2\')\">全选<br/> <input type=checkbox name=mm2 onclick=\"checkItem(\'All2\')\"><br/> <input type=checkbox name=mm2 onclick=\"checkItem(\'All2\')\"><br/> <input type=checkbox name=mm2 onclick=\"checkItem(\'All2\')\"><br/> <input type=checkbox name=mm2 onclick=\"checkItem(\'All2\')\"><br/> <input type=checkbox name=mm2 onclick=\"checkItem(\'All2\')\"><br/> </form> <SCRIPT LANGUAGE=\"java script\"> function checkAll(str) var a = document.getElementsByName(str); var n = a.length; for (var i=0; i<n; i++) a[i].checked = window.event.srcElement.checked; function checkItem(str) var e = window.event.srcElement; var all = eval(\"document.hrong.\"+ str); if (e.checked) var a = document.getElementsByName(e.name); all.checked = true; for (var i=0; i<a.length; i++) if (!a[i].checked){ all.checked = false; break;} else all.checked = false; </SCRIPT> 3.8 文件上传过程中判断文件类型 <input type=file onchange=\"alert(this.value.match(/^(.*)(\\.)(.{1,8})$/)[3])\"> <OBJECT style=\"LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px\" height=240 width=392 classid=\"clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6\"> </OBJECT> <SCRIPT> S.DrawingSurface.ArcDegrees(0,0,0,30,50,60); S.DrawingSurface.ArcRadians(30,0,0,30,50,60); S.DrawingSurface.Line(10,10,100,100); </SCRIPT> 写注册表: <SCRIPT> var WshShell = WScript.CreateObject(\"WScript.Shell\"); WshShell.RegWrite (\"HKCU\\\\Software\\\\ACME\\\\FortuneTeller\\\\\", 1, \"REG_BINARY\"); WshShell.RegWrite (\"HKCU\\\\Software\\\\ACME\\\\FortuneTeller\\\\MindReader\", \"Goocher!\", \"REG_SZ\"); var bKey = WshShell.RegRead (\"HKCU\\\\Software\\\\ACME\\\\FortuneTeller\\\\\"); WScript.Echo (WshShell.RegRead (\"HKCU\\\\Software\\\\ACME\\\\FortuneTeller\\\\MindReader\")); WshShell.RegDelete (\"HKCU\\\\Software\\\\ACME\\\\FortuneTeller\\\\MindReader\"); WshShell.RegDelete (\"HKCU\\\\Software\\\\ACME\\\\FortuneTeller\\\\\"); WshShell.RegDelete (\"HKCU\\\\Software\\\\ACME\\\\\"); </SCRIPT> TABLAE相关(客户端动态增加行列) <SCRIPT LANGUAGE=\" JS cript\"> function numberCells() { var count=0; for (i=0; i < document.all.mytable.rows.length; i++) { for (j=0; j < document.all.mytable.rows(i).cells.length; j++) { document.all.mytable.rows(i).cells(j).innerText = count; count++; </SCRIPT> <BODY onload=\"numberCells()\"> <TABLE id=mytable border=1> <TR><TH> </TH><TH> </TH><TH> </TH><TH> </ TH></TR> <TR>< TD > </ TD >< TD > </ TD >< TD > </ TD >< TD > </T D></TR> <TR>< TD > </ TD >< TD > </ TD >< TD > </ TD >< TD > </T D></TR> </TABLE> </BODY> </HTML> 1.身份证严格验证: <script> var aCity={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:\"国外\"} function cidInfo(sId){ var iSum=0 var info=\"\" if(!/^\\d{17}(\\d|x)$/i.test(sId))return false; sId=sId.replace(/x$/i,\"a\"); if(aCity[parseInt(sId.substr(0,2))]==null)return \"Error:非法地区\"; sBirthday=sId.substr(6,4)+\"-\"+Number(sId.substr(10,2))+\"-\"+Number (sId.substr(12,2)); var d=new Date(sBirthday.replace(/-/g,\"/\")) if(sBirthday!=(d.getFullYear()+\"-\"+ (d.getMonth()+1) + \"-\" + d.ge tD ate())) return \"Error:非法生日\"; for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt (17 - i),11) if(iSum%11!=1)return \"Error:非法证号\"; return aCity[parseInt(sId.substr(0,2))]+\",\"+sBirthday+\",\"+(sId.substr (16,1)%2?\"男\":\"女\") document.write(cidInfo(\"380524198002300016\"),\"<br/>\"); document.write(cidInfo(\"340524198002300019\"),\"<br/>\") document.write(cidInfo(\"340524197711111111\"),\"<br/>\") document.write(cidInfo(\"34052419800101001x\"),\"<br/>\"); </script> 2.验证IP地址 <SCRIPT LANGUAGE=\"java script\"> function isip(s){ var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}}; var re=s.split(\".\") return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false var s=\"202.197.78.129\"; alert(isip(s)) </SCRIPT> 3.加sp1后还能用的无边框窗口!! <HTML XMLNS:IE> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"> <IE:Download ID=\"include\" STYLE=\"behavior:url(#default#download)\" /> <title>Chromeless Window</title> <SCRIPT LANGUAGE=\" JS cript\"> /*--- Special Thanks For andot ---*/ This following code are designed and writen by Windy_sk <seasonx@163.net> You can use it freely, but u must held all the copyright items! /*--- Thanks For andot Again ---*/ var CW_width = 400; var CW_height = 300; var CW_top = 100; var CW_left = 100; var CW_url = \"/\"; var New_CW = window.createPopup(); var CW_Body = New_CW.document.body; var content = \"\"; var CSStext = \"margin:1px;color:black; border:2px outset;border- style:expression(onmouseout=onmouseup=function() {this.style.borderStyle=\'outset\'}, onmousedown=function(){if(event.button! =2)this.style.borderStyle=\'inset\'});background- color:buttonface;width:16px;height:14px;font-size:12px;line- height:11px;cursor:Default;\"; //Build Window include.star tD ownload(CW_url, function(source){content=source}); function insert_content(){ var temp = \"\"; CW_Body.style.overflow = \"hidden\"; CW_Body.style.backgroundColor = \"white\"; CW_Body.style.border = \"solid black 1px\"; content = content.replace(/<a ([^>]*)>/g,\"<a onclick=\'parent.open (this.href);return false\' $1>\"); temp += \"<table width=100% height=100% cellpadding=0 cellspacing=0 border=0>\"; temp += \"<tr style=\';font- size:12px;background:#0099CC;height:20;cursor:default\' ondblclick=\\\"Max.innerText=Max.innerText==\'1\'?\'2\':\'1\';parent.if_max=! parent.if_max;parent.show_CW();\\\" onmouseup=\'parent.drag_up(event)\' onmousemove=\'parent.drag_move(event)\' onmousedown=\'parent.drag_down(event)\' onselectstart=\'return false\' oncontextmenu=\'return false\'>\"; temp += \"< td style=\'color:#ffffff;padding-left:5px\'>Chromeless Window For IE6 SP1</ td >\"; temp += \"< td style=\'color:#ffffff;padding-right:5px;\' align=right>\"; temp += \"<span id=Help onclick=\\\"alert(\'Chromeless Window For IE6 SP1 - Ver 1.0\\\\n\\\\nCode By Windy_sk\\\\n\\\\nSpecial Thanks For andot\')\\\" style=\\\"\"+CSStext+\"font-family:System;padding-right:2px;\\\">?</span>\"; temp += \"<span id=Min onclick=\'parent.New_CW.hide();parent.blur()\' style=\\\"\"+CSStext+\"font-family:Webdings;\\\" title=\'Minimum\'>0</span>\"; temp += \"<span id=Max onclick=\\\"this.innerText=this.innerText==\'1\'?\'2\':\'1\';parent.if_max=! parent.if_max;parent.show_CW();\\\" style=\\\"\"+CSStext+\"font- family:Webdings;\\\" title=\'Maximum\'>1</span>\"; temp += \"<span id=Close onclick=\'parent.opener=null;parent.close()\' style=\\\"\"+CSStext+\"font-family:System;padding-right:2px;\\\" title=\'Close\'>x</span>\"; temp += \"</ td ></tr><tr>< td colspan=2>\"; temp += \"< div id=include style=\'overflow:scroll;overflow- x:hidden;overflow-y:auto; HEIGHT: 100%; width:\"+CW_width+\"\'>\"; temp += content; temp += \"</ div >\"; temp += \"</ td ></tr></table>\"; CW_Body.innerHTML = temp; setTimeout(\"insert_content()\",1000); var if_max = true; function show_CW(){ window.moveTo(10000, 10000); if(if_max){ New_CW.show(CW_top, CW_left, CW_width, CW_height); if(typeof(New_CW.document.all.include)!=\"undefined\"){ New_CW.document.all.include.style.width = CW_width; New_CW.document.all.Max.innerText = \"1\"; }else{ New_CW.show(0, 0, screen.width, screen.height); New_CW.document.all.include.style.width = screen.width; window.onfocus = show_CW; window.onresize = show_CW; // Move Window var drag_x,drag_y,draging=false function drag_move(e){ if (draging){ New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height); return false; function drag_down(e){ if(e.button==2)return; if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return; drag_x=e.clientX; drag_y=e.clientY; draging=true; e.srcElement.setCapture(); function drag_up(e){ draging=false; e.srcElement.releaseCapture(); if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return; CW_top = e.screenX-drag_x; CW_left = e.screenY-drag_y; </SCRIPT> </HTML> 电话号码的验证   (1)电话号码由数字、\"(\"、\")\"和\"-\"构成   (2)电话号码为3到8位   (3)如果电话号码中包含有区号,那么区号为三位或四位   (4)区号用\"(\"、\")\"或\"-\"和其他部分隔开   (5)移动电话号码为11或12位,如果为12位,那么第一位为0   (6)11位移动电话号码的第一位和第二位为\"13\"   (7)12位移动电话号码的第二位和第三位为\"13\"   根据这几条规则,可以与出以下正则表达式:   (^[0-9]{3,4}\\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\\([0-9]{3,4}\\)[0-9]{3,8}$)|(^0{0,1} 13[0-9]{9}$) <script language=\"java script\"> function PhoneCheck(s) { var str=s; var reg=/(^[0-9]{3,4}\\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\\([0-9]{3,4}\\)[0-9]{3,8}$)|(^0 {0,1}13[0-9]{9}$)/ alert(reg.test(str)); </script> <input type=text name=\"iphone\"> <input type=button onclick=\"PhoneCheck(document.all.iphone.value)\" value=\"Check\"> 具有在输入非数字字符不回显的效果,即对非数字字符的输入不作反应。 function numbersonly(field,event){ var key,keychar; if(window.event){ key = window.event.keyCode; else if (event){ key = event.which; else{ return true keychar = String.fromCharCode(key); if((key == null)||(key == 0)||(key == 8)||(key == 9)||(key == 13)||(key == 27)){ return true; else if((\"0123456789.\").indexOf(keychar)>-1){ window.status = \"\"; return true; else { window.status = \"Field excepts numbers only\"; return false; str=document.RegExpDemo.txtIP.value; if(/^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/.test(str)==false) window.alert(\'错误的IP地址格式\'); document.RegExpDemo.txtIP.select(); document.RegExpDemo.txtIP.focus(); return; if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>2 54||RegExp.$4<1||RegExp.$4>254) window.alert(\'错误的IP地址\'); document.RegExpDemo.txtIP.select(); document.RegExpDemo.txtIP.focus(); return; //剔除 如 010.020.020.03 前面 的0 var str=str.replace(/0(\\d)/g,\"$1\"); str=str.replace(/0(\\d)/g,\"$1\"); window.alert(str); #sp_ali { font-size:14px; color:#555; font-size:12px; } #sp_ali b { padding-right:10px; font-size:14px; font-family:Arial; } #sp_ali a { padding:0 4px; color:Green; text-decoration:none; } 笔记核心: firstElementChild只会 获取 元素节点对象,从名称就可以看出来,firstChild则可以 获取 文本节点对象(当然也可以 获取 元素节点对象),比如空格和换行都被当做文本节点。 js 不同于jQuery,在 获取 DOM时,有很多不方便的地方,哎,没办法,原始的东东,虽然万能,但却不方便。 咱今天在使用原生 js 的时候,就遇见一个坑------》firstChild,具... jquery遍历之parent()和parents()的区别.parent(selector) 获得当前匹配元素集合中每个元素的 元素,由选择器筛选(可选)。 .parents(selector) 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。参考文献: jQuery 遍历 - parent() 方法 jQuery 遍历 - parents() 方法知识点延伸:parent < div id="sh" class="east">上海</ div > < div id="gz" class="south">广州</ div > < div id="xa" class="west">西安</ div > < div id="bj" class="north">北京</ div > </ div &g <!DOCTYPE HTML PUBLIC "-//W3C//D TD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.d td "> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Untitled Document</title> ------------------------------------------------------------------------------jQuery---------------------------------------------------------------------- 1. 级: jQuery.parent(expr) 找 亲节点,可以传入expr进行... 先说一下 JS 获取 方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS 的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素原生的 JS 获取 ID为test的元素下的 子元素 。可以用:比如:var a = docuemnt.getElementById("dom").getElementsByTagName_r(" div "); 这样是没有问题... $(this).parents(); // 全部 节点 $(this).children(); // 全部 节点 $(this).find(); // 返回 元素中的 子元素 $(this).contents(); // 返回元素里面的所有内容,包括节点和文本 $(this).prev(); // 上一个兄弟节点 $(this).prevAll(); // 之前所有兄弟节点 $(this).next(); // 下一个兄弟节点 $(this).next..