事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.y 窗体活动元素 document.activeElement 绑定事件 document.captureEvents(Event.KEYDOWN); 访问窗体元素 document.all("txt").focus(); document.all("txt").select(); 窗体命令 document.execCommand 窗体COOKIE document.cookie 菜单事件 document.oncontextmenu 创建元素 document.createElement("SPAN"); 根据鼠标获得元素: document.elementFromPoint(event.x,event.y).tagName=="TD document.elementFromPoint(event.x,event.y).appendChild(ms) 窗体图片 document.images[索引] 窗体事件绑定 document.οnmοusedοwn=scrollwindow; 元素 document.窗体.elements[索引] 对象绑定事件 document.all.xxx.detachEvent('onclick',a); 插件数目 navigator.plugins 取变量类型 typeof($js_libpath) == "undefined" 下拉框 下拉框.options[索引] 下拉框.options.length 查找对象 document.getElementsByName("r1"); document.getElementById(id); 定时 timer=setInterval('scrollwindow()',delay); clearInterval(timer); UNCODE编码 escape() ,unescape 父对象 obj.parentElement(dhtml) obj.parentNode(dom) 交换表的行 TableID.moveRow(2,1) 替换CSS document.all.csss.href = "a.css"; 并排显示 display:inline 隐藏焦点 hidefocus=true 根据宽度换行 style="word-break:break-all" 自动刷新 简单邮件 快速转到位置 obj.scrollIntoView(true) 锚 anchors 网页传递参数 location.search(); 可编辑 obj.contenteditable=true 执行菜单命令 obj.execCommand 双字节字符 /[^/x00-/xff]/ 汉字 /[/u4e00-/u9fa5]/ 让英文字符串超出表格宽度自动换行 word-wrap: break-word; word-break: break-all; 透明背景 获得style内容 obj.style.cssText HTML标签 document.documentElement.innerHTML 第一个style标签 document.styleSheets[0] style标签里的第一个样式 document.styleSheets[0].rules[0] 防止点击空链接时,页面往往重置到页首端。 word 上一网页源 asp: request.servervariables("HTTP_REFERER") BLOCKED SCRIPT document.referrer 释放内存 CollectGarbage(); 禁止右键 document.oncontextmenu = function() { return false;} 禁止保存 禁止选取 禁止粘贴 地址栏图标 favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 收藏栏图标 查看源码 关闭输入法 自动全选 ENTER键可以让光标移到下一个输入框 文本框的默认值 title换行 obj.title = "123 sdfs " 获得时间所代表的微秒 var n1 = new Date("2004-10-10".replace(/-/g, "//")).getTime() 窗口是否关闭 win.closed checkbox扁平 获取选中内容 document.selection.createRange().duplicate().text 自动完成功能 打开该功能 关闭该功能 窗口最大化 无关闭按钮IE window.open("aa.htm", "meizz", "fullscreen=7"); 统一编码/解码 alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) encodeURIComponent对":"、"/"、";" 和 "?"也编码 表格行指示 1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 点击时文字消失,失去焦点时文字再出现 2.网页按钮的特殊颜色 3.鼠标移入移出时颜色变化 4.平面按钮 5.按钮颜色变化 6.平面输入框 7.使窗口变成指定的大小 8.使文字上下滚动 共和国 9.状态栏显示该页状态 10.可以点击文字实现radio选项的选定 情侣 : 一次注册两个帐户 11.可以在文字域的font写onclick事件 12.打印打印网页 13.线型输入框 14.显示文档最后修改日期 15.可以在鼠标移到文字上时就触发事件 link 16.可以根据网页上的选项来确定页面颜色 background.html Changing Background Colors Red Orange Yellow Green Blue Indigo Violet White pink 17.将按钮的特征改变 本例按钮的代码如下: 18.改变按钮的图片. 本例的按钮代码如下: 19.打印页面 打印本稿 20.可以直接写html语言 document.write(""); 21.改变下拉框的颜色 22.转至目标URL window.location="http://guoguo" 23.传递该object的form UpdateSN('guoqiang99267',this.form) function UpdateSN(strValue,strForm) { strForm.SignInName.value = strValue; return false; } 24.文字标签 guoqiang99859 25.layer2为组件的ID,可以控制组件是否可见 document.all.item('Layer2').style.display = "block"; document.all.item('Layer2').style.display = "none";// 26.将页面加入favorite中 // 27.过10秒自动关闭页面 < script language="JavaScript" > function closeit() { setTimeout("self.close()",10000) } < /script > 28.可以比较字符的大小 char=post.charAt(i); if(!('0'<=char&&char<='9')) 29.将字符转化为数字 month = parseInt(char) 30.点击value非空的选项时转向指定连接 主办单位 ----------------- 北京日报 北京晚报 31.改变背景颜色 32.改变文字输入框的背景颜色 33.改变水平线的特征 34.传递参数的方式 8 35.页内跳转 1 2 3 4 5 6 7 dfdf dfdf// 36.两个按键一起按下 if(event.ctrlKey && window.event.keyCode==13)// 37.刷新页面 javascript:this.location.reload()// 38.将网页的按钮使能 39.文字移动 40.双击网页自动跑 // 41.后退 42.前进 43.刷新 44.转向指定网页 document.location="http://ww"或者document.location.assign("http://guoguo.com") 45.在网页上显示实时时间 // 46.可以下载文件 document.location.href="目标文件"// 47.连接数据库 import java.sql.*; String myDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(myDBDriver); Connection conn=DriverManager.getConnection("jdbc:odbc:firm","username","password"); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(sql); rs.getString("column1");// 48.可以直接在页面“div”内写下所需内容 *'"> // 49.可以改变页面上的连接的格式,使其为双线 完整的css 50.新建frame 51.向文件中写内容 <%@ page import="java.io.*" %> <% String str = "print me"; //always give the path from root. This way it almost always works. String nameOfTextFile = "/usr/anil/imp.txt"; try { PrintWriter pw = new PrintWriter(new FileOutputStream(nameOfTextFile)); pw.println(str); //clean up pw.close(); } catch(IOException e) { out.println(e.getMessage()); } %> 52.先读文件再写文件 <%@ page language = "java" %> <%@ page contentType = "text/html; charSet=gb2312" %> <%@ page import ="java.util.*" %> <%@ page import ="java.lang.*" %> <%@ page import ="javax.servlet.*" %> <%@ page import ="javax.servlet.jsp.*" %> <%@ page import ="javax.servlet.http.*" %> <%@ page import="java.io.*" %> eryrytry <% int count=0; FileInputStream fi =new FileInputStream ("count.txt"); ObjectInputStream si= new ObjectInputStream (fi); count =si.readInt(); count++; out.print(count); si.close(); FileOutputStream fo =new FileOutputStream ("count.txt"); ObjectOutputStream so= new ObjectOutputStream (fo); so.writeInt(count); so.close(); %> 53.直线型输入框 54.可以将背景改为按钮性状,通过改变css改变属性 录音笔 55.同时按下CTRL和Q键 document.οnkeydοwn=function() { if(event.ctrlKey&&event.keyCode==81) {alert(1)} }// 56.以下是一个完整的显示hint的代码,其思想是当鼠标停留是将div中的内容显示在鼠标出,当鼠标移出后在将该div隐藏掉 dfdfd --------------------------------------------------------------------------------------------------------- ------------ 57.弹出窗口 方法一: 浏览器读页面时弹出窗口; 方法二: 浏览器离开页面时弹出窗口; 方法三:用一个连接调用:打开一个窗口 注意:使用的"#"是虚连接。 方法四:用一个按钮调用: 何时装载script 58.动态改变字体的大小 function doZoom(size) { document.getElementById('zoom').style.fontSize=size+'px' } function aa() { var newWin=window.open(url); newWin.document.form1.text1.value=value1; }改变弹出窗口上域的属性 opener.document.form2.text2.value=value2;改变父窗口的域的值 59.判断是何种浏览器 var name = navigator.appName; if (name == "Microsoft Internet Explorer") alert("IE"); else if (name == "Netscape") alert("NS");// 60.vbsscript确定框 // 61.复制内容到剪切板 function JM_cc(bb) { var ob=eval("document.form1."+bb); ob.select(); js=ob.createTextRange(); js.execCommand("Copy"); }// 62.java中建立数据库连接取数据 public void init() { String url="jdbc:odbc:javadata"; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection(url,"sa","");//mssql database user SA and password DatabaseMetaData dma=con.getMetaData(); System.out.println("Connect to"+dma.getURL()); System.out.println(";Driver "+dma.getDriverName()); System.out.println(";Version "+dma.getDriverVersion()); System.out.println(""); Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("select * from company.dbo.TB_NAME where number=1");//Sql rs.next(); String dispresult=rs.getString("name"); System.out.println(dispresult);// Instead,you can display it in Paint() or use AWT etc. rs.close(); stmt.close(); con.close(); } catch(SQLException ex) { System.out.println("!!!SQL Exception !!!"); while(ex!=null) { System.out.println("SQLState:"+ex.getSQLState()); System.out.println("Message:"+ex.getMessage()); System.out.println("Vendor:"+ex.getErrorCode()); ex=ex.getNextException(); System.out.println(""); } } catch(java.lang.Exception ex) { ex.printStackTrace(); } }// 63.最小化窗口 window.blur()// 64.文档的路径 document.URL// 65.定时执行某段程序 setTimeout("change_color()",600); 66.设置为主页 function makeHome(){ netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesWrite"); navigator.preference("browser.startup.homepage", location.href); }// 67.设置为收藏 function addFav(){ if(ie) window.external.AddFavorite(location.href,'WWW.OGRISH.COM : GROTESQUE MOVIES AND PICTURES'); if(ns) alert("Thanks for the bookmark!/n/nNetscape users click OK then press CTRL-D"); }// 68.判断cookie是否可用 navigator.cookieEnabled;// 69.显示有模式的有页面的弹出窗口 function setbgcolor_onclick() { var color = showModalDialog("/mailpage/compose/colorsel.html",0,"help=0"); if (color != null) { document.compose.bgcolor.value = color; } }// 70.截取小数点后两位 var a=3454545.4454545; alert(a.toFixed(2));// 71.禁止选择页面上的文字来拷贝 // 72.屏蔽右键菜单 οncοntextmenu="event.returnValue = false"// 73.事件禁止起泡 event.cancelBubble = true// 74.禁止在输入框打开输入法 // 75.屏蔽汉字和空格 // 76.用javascript判断文件是否存在 function Exists(filespec) { if (filespec) { var fso; fso = new ActiveXObject("Scripting.FileSystemObject"); alert(fso.FileExists(filespec)); } } 选择图片 // 77.获得当前的文本框选中的文字 // 78.跳转至目标页面,同时不可返回 sohu.com// 79.获得当前的行是表格的第几行 // 80.删除表格某行,xx表示某行,下标从0开始计算 document.all.myTable.deleteRow(xx)// 81.动态的向表格中添加行 '; contents+='你要关闭我吗'; contents+=''; contents+=''; contents+=''; contents+='你要关闭我吗?'; contents+=''; contents+=''; contents+=''; showModalDialog("about:"+contents+"","","dialogHeight:50px;dialogWidth:250px;help:no;status:no") document.write(contents); // 90.取第x,y的值 // 91.向新打开的网页上写内容 newwin=window.open('about:blank','','top=10'); newwin.document.write('');// 93.返回 javascript:history.go(-2);// 94.将页面上选中的内容复制到剪贴板 abcdefg // 95.将页面上选中的内容复制到剪贴板 kjhkjhkhkj 96.鼠标移到下拉框时自动全部打开 // 97.获得本机的文件 var fso = new ActiveXObject("Scripting.FileSystemObject"); var f1 = fso.GetFile("C://bsitcdata//ejbhome.xml"); alert("File last modified: " + f1.DateLastModified); // 98.判断客户端是否是IE浏览器 因为 document.all 是 IE 的特有属性,所以通常用这个方法来判断客户端是否是IE浏览器 ,document.all?1:0; 99.创建新的下拉框选项 new Option(text,value)这样的函数// 100.在页面上画柱状图 %124人 %124人// 101.饼图 // 128.取出记录集的列名 java.sql.ResultSet rset = com.bsitc.util.DBAssist.getIT().executeQuery(queryStatement, conn); java.sql.ResultSetMetaData metaData = rset.getMetaData(); int count = metaData.getColumnCount(); String name = metaData.getColumnName(i); String value = rset.getString(i);// 129.格式化数字 function format_number(str,digit) { if(isNaN(str)) { alert("您传入的值不是数字!"); return 0; } else if(Math.round(digit)!=digit) { alert("您输入的小数位数不是整数!"); return 0; } else return Math.round(parseFloat(str)*Math.pow(10,digit))/Math.pow(10,digit); } 130.回车按钮转化为tab按钮 if(event.keyCode==13) event.keyCode=9; //将 131.滚动条滚动 Scroll 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 132.判断是什么对象 if(typeof(unknown)=="function")return true; if(typeof(unknown)!="object")return false;// 133.取消文本框自动完成功能 // 134.让下拉框自动下拉 1 2 3 // 135.读取XML文件 var childrenobj=myselect//document.all.myselect; var oXMLDoc = new ActiveXObject('MSXML'); oXMLDoc.url = "mymsg.xml"; var oRoot=oXMLDoc.root; if(oRoot.children != null) { for(var i=0;i 杭州地区 温州地区 台州地区 丽水地区 // 136.点击图片,图片停止 // 137.显示本地计算机信息 var WshNetwork = new ActiveXObject("WScript.Network"); alert("Domain = " + WshNetwork.UserDomain); alert("Computer Name = " + WshNetwork.ComputerName); alert("User Name = " + WshNetwork.UserName);// 138.比较时间 tDate = new Date(2004,01,08,14,35); //年,月,日,时,分 dDate = new Date(); tDatedddd// 140.注意不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为“undefined”。在以 下的代码范例中,假设程序员想测试是否已经声明变量 x : // 这种方法不起作用 if (x == undefined) // 作某些操作 // 这个方法同样不起作用- 必须检查 // 字符串 "undefined" if (typeof(x) == undefined) // 作某些操作 // 这个方法有效 if (typeof(x) == "undefined") // 作某些操作 141.创建具有某些属性的对象 var myObject = new Object(); myObject.name = "James"; myObject.age = "22"; myObject.phone = "555 1234";// 142.枚举(循环)对象的所有属性 for (var a in myObject) { // 显示 "The property 'name' is James",等等。 window.alert("The property '" + a + "' is " + myObject[a]); }// 143.判断一个数字是否是整数 var a=23.2; alert(a%1==1)// 144.新建日期型变量 var a = new Date(2000, 1, 1); alert(a.toLocaleDateString()); 145.给类定义新的方法 function trim_1() { return this.replace(/(^/s*)|(/s*$)/g, ""); } String.prototype.trim=trim_1; alert('cindy'.trim()); 146.定义一个将日期类型转化为字符串的方法 function guoguo_date() { var tmp1,tmp2; tmp1 =this.getMonth()+1+""; if(tmp1.length<2) tmp1="0"+tmp1; tmp2 =this.getDate()+""; if(tmp2.length<2) tmp2="0"+tmp2; return this.getYear()+"-"+tmp1+"-"+tmp2; } Date.prototype.toLiteString=guoguo_date; alert(new Date().toLiteString()) 147. pasta 是有四个参数的构造器,定义对象。 function pasta(grain, width, shape, hasEgg) { // 是用什么粮食做的? this.grain = grain; // 多宽?(数值) this.width = width; // 横截面形状?(字符串) this.shape = shape; // 是否加蛋黄?(boolean) this.hasEgg = hasEgg; //定义方法 this.toString=aa; } function aa() { ; } //定义了对象构造器后,用 new 运算符创建对象实例。 var spaghetti = new pasta("wheat", 0.2, "circle", true); var linguine = new pasta("wheat", 0.3, "oval", true); //补充定义属性,spaghetti和linguine都将自动获得新的属性 pasta.prototype.foodgroup = "carbohydrates"; 148.打印出错误原因 try { x = y // 产生错误。 } catch(e) { document.write(e.description) //打印 "'y' is undefined". }// 149.生成Excel文件并保存 var ExcelSheet; ExcelApp = new ActiveXObject("Excel.Application"); ExcelSheet = new ActiveXObject("Excel.Sheet"); //本代码启动创建对象的应用程序(在这种情况下,Microsoft Excel 工作表)。一旦对象被创建,就可以用定义的对 象变量在代码中引用它。 在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象, 包括 Application 对象和 ActiveSheet.Cells 集合。 // 使 Excel 通过 Application 对象可见。 ExcelSheet.Application.Visible = true; // 将一些文本放置到表格的第一格中。 ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1"; // 保存表格。 ExcelSheet.SaveAs("C://TEST.XLS"); // 用 Application 对象用 Quit 方法关闭 Excel。 ExcelSheet.Application.Quit();// 150.根据标签获得一组对象 var coll = document.all.tags("DIV"); if (coll!=null) { for (i=0; i // 152.不通过form,直接通过名字引用对象 // 153.使鼠标滚轮失效 function document.onmousewheel() { return false; }// 154.创建弹出窗口 // 155.取得鼠标所在处的对象 var obj = document.elementFromPoint(event.x,event.y);// 156.获得左边的对象 // 157.定位鼠标 document.all.hint_layer.style.left = event.x+document.body.scrollLeft+10; document.all.hint_layer.style.top = event.y+document.body.scrollTop+10;// 158.向下拉框指定位置添加项目 var op = document.createElement("OPTION"); document.all.selected_items.children(index).insertAdjacentElement("BeforeBegin",op); op.text = document.all.all_items.text; op.value = document.all.all_items.value;// 159.判断一个窗口是否已经打开,如果已经打开,则关闭之 var a; if(a) a.close(); else a=window.open('','','');// 160.动态创建一个标签 newElem = document.createElement("DIV"); newElem.id = "hint_layer"; document.body.appendChild(newElem); document.all.hint_layer.innerText="guoguo";// 161.标题栏 document.title// 162.背景图片 //背景图片不动 //背景图片居中 163.设置透明效果 document.form.xxx.filters.alpha.opacity=0~100// 164.定义方法 var dragapproved=false; document.οnmοuseup=new Function("dragapproved = false");// 165.将数字转化为人民币大写形式 function convertCurrency(currencyDigits) { // Constants: var MAXIMUM_NUMBER = 99999999999.99; // Predefine the radix characters and currency symbols for output: var CN_ZERO = "零"; var CN_ONE = "壹"; var CN_TWO = "贰"; var CN_THREE = "叁"; var CN_FOUR = "肆"; var CN_FIVE = "伍"; var CN_SIX = "陆"; var CN_SEVEN = "柒"; var CN_EIGHT = "捌"; var CN_NINE = "玖"; var CN_TEN = "拾"; var CN_HUNDRED = "佰"; var CN_THOUSAND = "仟"; var CN_TEN_THOUSAND = "万"; var CN_HUNDRED_MILLION = "亿"; var CN_SYMBOL = "人民币"; var CN_DOLLAR = "元"; var CN_TEN_CENT = "角"; var CN_CENT = "分"; var CN_INTEGER = "整"; // Variables: var integral; // Represent integral part of digit number. var decimal; // Represent decimal part of digit number. var outputCharacters; // The output result. var parts; var digits, radices, bigRadices, decimals; var zeroCount; var i, p, d; var quotient, modulus; // Validate input string: currencyDigits = currencyDigits.toString(); if (currencyDigits == "") { alert("Empty input!"); return ""; } if (currencyDigits.match(/[^,./d]/) != null) { alert("Invalid characters in the input string!"); return ""; } if ((currencyDigits).match(/^((/d{1,3}(,/d{3})*(.((/d{3},)*/d{1,3}))?)|(/d+(./d+)?))$/) == null) { alert("Illegal format of digit number!"); return ""; } // Normalize the format of input digits: currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters. currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning. // Assert the number is not greater than the maximum number. if (Number(currencyDigits) > MAXIMUM_NUMBER) { alert("Too large a number to convert!"); return ""; } // http://www.knowsky.com/ Process the coversion from currency digits to characters: // Separate integral and decimal parts before processing coversion: parts = currencyDigits.split("."); if (parts.length > 1) { integral = parts[0]; decimal = parts[1]; // Cut down redundant decimal digits that are after the second. decimal = decimal.substr(0, 2); } else { integral = parts[0]; decimal = ""; } // Prepare the characters corresponding to the digits: digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE); radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND); bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); decimals = new Array(CN_TEN_CENT, CN_CENT); // Start processing: outputCharacters = ""; // Process integral part if it is larger than 0: if (Number(integral) > 0) { zeroCount = 0; for (i = 0; i < integral.length; i++) { p = integral.length - i - 1; d = integral.substr(i, 1); quotient = p / 4; modulus = p % 4; if (d == "0") { zeroCount++; } else { if (zeroCount > 0) { outputCharacters += digits[0]; } zeroCount = 0; outputCharacters += digits[Number(d)] + radices[modulus]; } if (modulus == 0 && zeroCount < 4) { outputCharacters += bigRadices[quotient]; } } outputCharacters += CN_DOLLAR; } // Process decimal part if there is: if (decimal != "") { for (i = 0; i < decimal.length; i++) { d = decimal.substr(i, 1); if (d != "0") { outputCharacters += digits[Number(d)] + decimals; } } } // Confirm and return the final output string: if (outputCharacters == "") { outputCharacters = CN_ZERO + CN_DOLLAR; } if (decimal == "") { outputCharacters += CN_INTEGER; } outputCharacters = CN_SYMBOL + outputCharacters; return outputCharacters; }// 166.xml数据岛绑定表格 接收人 发送人 主题 内容 表格的结束 //cd_catalog.xml Empire Burlesque Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988 Greatest Hits Dolly Parton USA RCA 9.90 1982 Still got the blues Gary Moore UK Virgin records 10.20 1990 // 167.以下组合可以正确显示汉字 ================================ xml保存编码 xml页面指定编码 ANSI gbk/GBK、gb2312 Unicode unicode/Unicode UTF-8 UTF-8 ================================ 168.XML操作 169.动态修改CSS的另一种方式 this.runtimeStyle.cssText = "color:#990000;border:1px solid #cccccc";// 170.正则表达式 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 匹配双字节字符(包括汉字在内):[^/x00-/xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 匹配空行的正则表达式:/n[/s| ]*/r 匹配HTML标记的正则表达式:/<(.*)>.*//1>|<(.*) //>/ 匹配首尾空格的正则表达式:(^/s*)|(/s*$) 应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function() { return this.replace(/(^/s*)|(/s*$)/g, ""); } 利用正则表达式分解和转换IP地址: 下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: function IP2V(ip) { re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error("Not a valid IP address!") } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip="10.100.20.168" ip=ip.split(".") alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? //利用正则表达式去除字串中重复的字符的算法程序: var s="abacabefgeeii" var s1=s.replace(/(.).*/1/g,"$1") var re=new RegExp("["+s1+"]","g") var s2=s.replace(re,"") alert(s1+s2) //结果为:abcefgi 思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方 法对于字符顺序有要求的字符串可能不适用。 //得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 s="http://www.9499.net/page1.htm" s=s.replace(/(.*//){0,}([^/.]+).*/ig,"$2") alert(s) /利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,'') )" 用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,'') )" 用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 171.设置和使用cookie 设置与读取 cookies... 写入cookie的值 // 172.取月的最后一天 function getLastDay(year,month) { //取年 var new_year = year; //取到下一个月的第一天,注意这里传入的month是从1~12 var new_month = month++; //如果当前是12月,则转至下一年 if(month>12) { new_month -=12; new_year++; } var new_date = new Date(new_year,new_month,1); return (new Date(new_date.getTime()-1000*60*60*24)).getDate(); }// 173.判断当前的焦点是组中的哪一个 for(var i=0;i<3;i++) if(event.srcElement==bb) break;// 174.实现类 package com.baosight.view.utils; import javax.servlet.jsp.tagext.TagSupport; import javax.servlet.http.HttpSession; public class Mytag extends TagSupport { public int doStartTag() throws javax.servlet.jsp.JspException { boolean canAccess = false; HttpSession session= pageContext.getSession(); if (canAccess) { return EVAL_BODY_INCLUDE; } else { return this.SKIP_BODY; } } } 175.在web.xml中添加定义 guoguo /WEB-INF/abc.tld 176.标签库中定义abc.tld 1.0 1.1 hr guoguo Extra 3 Tag Library mytag com.baosight.view.utils.Mytag id2 true true 177.在使用自定义标签的页面中加入自己定义的标签, <%@ taglib uri="guoguo" prefix="guoguo" %> //自己定义标签 178.显示带边框的集 查询条件 dfdfdf // 179.【文件(F)】菜单中的命令的实现 1、〖打开〗命令的实现 [格式]:document.execCommand("open") [说明]这跟VB等编程设计中的webbrowser控件中的命令有些相似,大家也可依此琢磨琢磨。 [举例]在之间加入: 打开 2、〖使用 记事本 编辑〗命令的实现 [格式]:location.replace("view-source:"+location) [说明]打开记事本,在记事本中显示该网页的源代码。 [举例]在之间加入: 使用 记事本编辑 3、〖另存为〗命令的实现 [格式]:document.execCommand("saveAs") [说明]将该网页保存到本地盘的其它目录! [举例]在之间加入: 另存为 4、〖打印〗命令的实现 [格式]:document.execCommand("print") [说明]当然,你必须装了打印机! [举例]在之间加入: 打印 5、〖关闭〗命令的实现 [格式]:window.close();return false [说明]将关闭本窗口。 [举例]在之间加入: 关闭本窗口 180.【编辑(E)】菜单中的命令的实现 〖全选〗命令的实现 [格式]:document.execCommand("selectAll") [说明]将选种网页中的全部内容! [举例]在之间加入: 全选 181.【查看(V)】菜单中的命令的实现 1、〖刷新〗命令的实现 [格式]:location.reload() 或 history.go(0) [说明]浏览器重新打开本页。 [举例]在之间加入: 刷新 或加入: 刷新 2、〖源文件〗命令的实现 [格式]:location.replace("view-source:"+location) [说明]查看该网页的源代码。 [举例]在之间加入: 查看源文件 3、〖全屏显示〗命令的实现 [格式]:window.open(document.location, "url", "fullscreen") [说明]全屏显示本页。 [举例]在之间加入: 全屏显示 182.【收藏(A)】菜单中的命令的实现 1、〖添加到收藏夹〗命令的实现 [格式]:window.external.AddFavorite('url', '“网站名”) [说明]将本页添加到收藏夹。 [举例]在之间加入: 添加到收 藏夹 2、〖整理收藏夹〗命令的实现 [格式]:window.external.showBrowserUI("OrganizeFavorites",null) [说明]打开整理收藏夹对话框。 [举例]在之间加入: 整理收藏夹 183.【工具(T)】菜单中的命令的实现 〖internet选项〗命令的实现 [格式]:window.external.showBrowserUI("PrivacySettings",null) [说明]打开internet选项对话框。 [举例]在之间加入: internet选项 184.【工具栏】中的命令的实现 1、〖前进〗命令的实现 [格式]history.go(1) 或 history.forward() [说明]浏览器打开后一个页面。 [举例]在之间加入: 前进 或加入: 前进 2、〖后退〗命令的实现 [格式]:history.go(-1) 或 history.back() [说明]浏览器返回上一个已浏览的页面。 [举例]在之间加入: 后退 或加入: 后退 3、〖刷新〗命令的实现 [格式]:document.reload() 或 history.go(0) [说明]浏览器重新打开本页。 [举例]在之间加入: 刷新 或加入: 刷新 185.其它命令的实现 〖定时关闭本窗口〗命令的实现 [格式]:settimeout(window.close(),关闭的时间) [说明]将关闭本窗口。 [举例]在之间加入: 3秒关闭本窗口 【附】为了方便读者,下面将列出所有实例代码,你可以把它们放到一个html文件中,然后预览效果。 打开 使用 记事本编辑 另存为 打印 关闭本窗口 全选 刷新 刷新 查看源文件 全屏显示 添加到收藏 夹 整理收藏夹 internet选项 前进1 前进2 后退1 后退2 3秒关闭本窗口 186.给DHTML中的标签添加一个新的属性,可以随意加 // 187.xmlhttp技术 此方法是通过XMLHTTP对象从服务器获取XML文档,示例如下。 // 201.将url转化为16进制形式 var ret = ''; for(var i=0; i < str.length; i++) { var ch = str.charAt(i); var code = str.charCodeAt(i); if(code < 128 && ch != '[' && ch != '/'' && ch != '=') { ret += ch; } else { ret += "[" + code.toString(16) + "]"; } } return ret;// 202.打开新的窗口并将新打开的窗口设置为活动窗口 var newWin=window.open("xxxx"); newWin.focus();// 203.容错脚本 JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError function handleError(message, URI, line) {// 提示用户,该页可能不能正确回应 return true; // 这将终止默认信息 }//在页面出错时进行操作 204.JS中的窗口重定向: window.navigate("http://www.sina.com.cn");// 205.防止链接文字折行 document.body.noWrap=true;// 206.判断字符是否匹配. string.match(regExpression)// 207. href="javascript:document.Form.Name.value='test';void(0);"//不能用onClick="javacript:document.Form.Name.v alue='test';return false;" 当使用inline方式添加事件处理脚本事,有一个被包装成匿名函数的过程,也就是说 onClick="javacript:document.Form.Name.value='test';return false;"被包装成了: functoin anonymous() { document.Form.Name.value='test';return false; } 做为A的成员函数onclick。 而href="javascript:document.Form.Name.value='test';void(0);"相当于执行全局语句,这时如果使用return语句会 报告在函数外使用return语句的错误。 208.进行页面放大 sdsdsdsdsdsdsdsds // 209.放置在页面的最右边 // 210.通过style来控制隔行显示不同颜色 // 211.全屏最大化 newwindow=window.open("","","scrollbars") if (document.all) { newwindow.moveTo(0,0) newwindow.resizeTo(screen.width,screen.height) }// 212.根据名字解析xml中的节点值 var XMLDoc=new ActiveXObject("MSXML"); XMLDoc.url="d:/abc.xml"; aRoot=XMLDoc.root; a1.innerText=aRoot.children.item("name").text;// 213.在页面上解析xml的值 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/5996c682-3472-4b03-9fb0-1e08 fcccdf35.asp // 214.看一个字符串里面有多少个回车符,返回值是一个数组 var s=value.match(//n/g);if(s)if(s.length==9){alert('10行了');return false;}// 215.获得asc码 var s='aa'; alert(s.charCodeAt(1))// 216.文字居右对齐 // 217.判断一个方法是否存在 function pageCallback(response){ alert(response); } if(pageCallback) alert(1)// 218.判断一个变量是否定义 if(typeof(a)=="undefined") { alert() }// 219.javascript执行本机的可执行程序,需设置为可信或者降低IE安全级别 // 226.获得对象类型 switch (object.constructor){ case Date: ... case Number: ... case String: ... case MyObject: ... default: ... }// 227.图片加载失败时重新加载图片 // 228. //font_effect.htc //abc.css tr{behavior:url(font_effect.htc);} 229.可以通过css和htc改变表格的颜色,仅IE支持 //xxx.html 1 2 3 4 5 6 // 230.在页面上画点 function a(x,y,color) { document.write("") }// 231.自动关闭网页 本页10秒后自动关闭,请注意刷新页面 你可能感兴趣的:(前端开发) HTML 图像与多媒体元素:拓展学习边界的进度记录(一) 计算机毕设定制辅导-无忧学长 #HTMLhtml学习php 开篇:学习启程在前端开发的广袤领域中,HTML作为构建网页的基石,其重要性不言而喻。而HTML图像与多媒体元素,就像是为这座基石添上了绚丽的色彩与灵动的音符,赋予网页更加丰富的表现力和交互性。作为一名热衷于探索前端技术的博主,我深知掌握这些元素对于提升网页开发能力的关键作用。于是,我踏上了深入学习HTML图像与多媒体元素的征程,并决定将学习过程中的点滴记录下来,与大家一同分享。希望通过这篇学习进度 一个后端工程师对前端云 Vercel 的体验和探索 程序员 今天小猿姐特邀咱们资深的程序猿为大家带来产品的体验报告。Vercel概述Vercel是一个为前端开发者设计的一体化平台(前端云),可以帮助开发者快速地将网站和应用程序部署到各种环境中,并且提供了一个灵活、可扩展和安全的平台,非常适合开发者在不同平台和环境中进行开发和部署。Vercel的主要特点包括:通过自动配置构建设置和提供详细的构建日志,简化了部署管理过程。借助集成的CI/CD功能,开发者可以预 《今日AI-人工智能-编程日报》-源自2025年3月19日 小亦编辑部 每日AI-人工智能-编程日报人工智能 1.豆包AI编程功能迎来三项重磅升级豆包平台今日宣布其AI编程功能迎来三项重要升级,包括:HTML实时预览:支持用户在编写HTML代码时实时查看网页效果,显著提升前端开发效率,尤其适用于小游戏和网页制作。Python代码直接运行与一键修复:用户可直接运行Python代码,并在出错时一键修复,极大降低了编程门槛,提升了开发效率。生成完整项目:新增生成完整项目的功能,帮助用户快速创建应用程序,缩短开发 Vue.js 中的 Memoization:提升性能的缓存技术 vvilkim vuevue.js前端javascript 在现代前端开发中,性能优化是一个永恒的话题。随着应用规模的增大,复杂的计算和频繁的函数调用可能会导致性能瓶颈。Vue.js作为一个流行的前端框架,提供了多种优化手段,其中memoization(记忆化)就是一种非常有效的技术。本文将详细介绍Vue.js中的memoization,以及如何利用它来提升应用性能。什么是Memoization?Memoization是一种优化技术,通过缓存函数的结果来避 Vue.js 性能优化:虚拟 DOM 与虚拟滚动 vvilkim vuevue.js前端javascript 在现代前端开发中,性能优化是一个永恒的话题。Vue.js作为一款流行的前端框架,提供了许多强大的工具和技术来提升应用的性能。其中,虚拟DOM和虚拟滚动是两个非常重要的概念。本文将深入探讨它们的原理、优势以及如何在Vue.js中使用它们来优化性能。什么是虚拟DOM?虚拟DOM(VirtualDOM)是Vue.js用于提升性能的核心技术之一。它是一个轻量级的JavaScript对象树,用于表示真实DO 一个比Fiddler/Charles更好用的免费抓包神器 金丝猴也是猿 httpudphttpswebsocket网络安全网络协议tcp/ip Proxyman与Sniffmaster:抓包工具的双剑合璧在当今的网络开发与调试中,抓包工具是不可或缺的利器。无论是前端开发者、后端工程师,还是安全研究人员,都需要通过抓包工具来分析网络请求、调试接口、排查问题。今天,我们将介绍两款强大的抓包工具:Proxyman和Sniffmaster,它们各自拥有独特的功能,能够帮助你在不同的场景下高效完成工作。Proxyman简介Slogan:只是简单地点 JavaScript 中的性能优化:从基础到高级技巧 lina_mua 深入javascript性能优化开发语言 1.引言1.1性能优化的重要性在现代前端开发中,性能优化是提升用户体验的关键。无论是页面加载速度、交互响应时间,还是内存占用,性能优化都能显著提升应用的流畅度和用户满意度。1.2本文的目标本文旨在深入探讨JavaScript中的性能优化,从基础到高级技巧,帮助开发者理解性能优化的核心概念,并掌握其在实际开发中的应用。2.性能优化的基础2.1什么是性能优化?性能优化是指通过改进代码、减少资源消耗、优 浏览器工作原理深度解析(阶段一):从 URL 到页面渲染的完整流程 码农的时光故事 javascript前端 一、浏览器工作流程概述作为前端开发者,我们每天都在与浏览器打交道,但多数人对其内部工作机制却知之甚少。实际上,浏览器的核心功能就是将用户输入的URL转换为可视化的网页。这一过程大致分为六个关键步骤:网络请求:通过HTTP/HTTPS协议获取页面资源构建DOM树:解析HTML代码生成文档对象模型样式计算:解析CSS规则并应用到对应元素布局渲染:计算元素位置和尺寸生成渲染树合成优化:将渲染层合并为位图 Web Component 教程(六):基于 Stencil 脚手架开发 Web Component 乐闻x WebComponent学习记录前端webcomponentstencli 前言在现代前端开发中,WebComponent是一种逐渐受到关注的技术,它允许我们创建可以在任何框架或库(如React,Angular,Vue等)中使用的可重用组件。而Stencil是一个强大的开发工具,它帮助我们轻松构建这些WebComponent,使开发过程更高效、更简洁。那么,究竟如何使用Stencil来开发WebComponent呢?今天,我们就来探索这一主题,从安装和设置,到创建和使用组 Angular Material表格的动态列宽设置 t0_54program 编程问题解决手册angular.js前端javascript个人开发 在前端开发中,AngularMaterial表格(mat-table)是非常流行的组件之一。它提供了丰富的功能,如排序、分页和过滤等。然而,有时我们需要动态调整表格列的宽度,以适应不同的数据和用户需求。本文将介绍如何在TypeScript中获取mat-table的列宽,并据此设置相应的过滤器宽度。问题描述在使用AngularMaterial表格时,如何获取每个列的宽度?例如,我们希望为每一列设置一 HTML 教程:从零开始掌握常用语法 LoveYa! 前端html前端笔记学习 免费无广纯净版微信小程序测mbti很有趣,不需要任何授权,也不需要登录,直接就是测,几分钟了解自己的人格mbti,快来试试吧。可以微信直接搜索小程序名“一秒MBTI”HTML教程:从零开始掌握常用语法欢迎来到HTML的世界!HTML(HyperTextMarkupLanguage,超文本标记语言)是网页开发的基石,它负责定义网页的结构和内容。无论你是想成为一名前端开发者,还是仅仅想了解网页背后的魔 【Vue3笔记01】如何使用Vue3和Vite搭建前端项目的基础开发环境 Mr.小朱同学 Web前端笔记前端笔记vue.jsVue3Vite搭建项目环境 这篇文章,主要介绍如何使用Vue3和Vite搭建前端项目的基础开发环境【知识星球】。目录一、搭建项目环境1.1、前提条件1.2、开始搭建1.3、下载依赖1.4、启动工程一、搭建项目环境目前前端开发中,使用最多的就是Vue.js框架,目前Vue.js框架常用的有Vue2、Vue3两个版本,Vue3和Vue2在语法上还是存在很大的差异的,这里我将介绍如何搭建Vue3开发环境。1.1、前提条件在创建Vu Postman 从入门到精通的详细图文教程指南 清尘沐歌 postman测试工具 API已经成为连接不同系统和服务的重要桥梁,无论你是前端开发者、后端工程师还是测试人员,掌握API的开发和测试技能都是非常重要的。Postman是一个广受欢迎的API开发工具,它不仅能够帮助你轻松发送HTTP请求,还提供了强大的测试、调试和协作功能。本系列教程旨在帮助你从零开始,逐步掌握Postman的各项功能,从基础的请求发送到高级的自动化测试和团队协作。无论你是初学者还是有一定经验的开发者,都 TypeScript模块 vs JavaScript模块:现代化开发的模块化之道 念九_ysl typescript前端typescript 一、模块化开发的重要性在当今前端开发领域,模块化已成为构建可维护、可扩展应用程序的基石。无论是小型项目还是企业级应用,良好的模块化设计都能显著提升代码的可读性和复用性。让我们通过一个简单对比示例开始:JavaScript实现://math.jsexportfunctionadd(a,b){returna+b}//app.jsimport{add}from'./math.js';console.lo 智慧物流数字管理系统设计案例分析 UI设计开发服务商 数据分析数据挖掘 你好,宝子们!艾斯视觉团队在此,我们专注于UI设计和前端开发领域10年有余。非常高兴能与您分享我们的经验和见解。如果您觉得有所帮助,请给予我们支持和关注,并随时私信我们,共同探讨进步!谢谢您的鼓励!随着科技的飞速发展,数字化已经成为现代物流业的重要发展趋势。智慧物流数字管理系统旨在通过先进的技术手段,实现物流信息的实时共享、智能分析和优化决策,从而提高物流效率、降低成本并提升客户满意度。本文将以一 《React开发实践:掌握Redux与Hooks应用》——开启你的前端进阶之旅 JJCTO袁龙 前端react.js前端框架 文章标题《React开发实践:掌握Redux与Hooks应用》——开启你的前端进阶之旅在前端开发的浪潮中,React.js已经成为开发者们不可或缺的利器。它以其高效、灵活的特性,成为构建现代Web应用的首选框架之一。然而,随着项目复杂度的增加,如何更好地管理状态、优化性能、提升代码可维护性,成为每个开发者必须面对的挑战。幸运的是,我最近出版的《React开发实践:掌握Redux与Hooks应用》这 最完整的webpack Dll打包与采坑总结 仰望星空的代码 Vue.js踩坑记vue.jswebpackdll打包打包优化 webpack已经成为前端主流的项目打包工具,对于前端开发必不可少。在前端项目依赖第三方库过多,项目比较大文件比较多时,webpack打包的速度也会被拖成蜗牛,是时候优化一下webapck的打包速度了。在优化打包速度方面有不少方法方式,其中一个比较重要的方式是DllPlugin。DllPlugin把第三方库打包成动态链接库(动态链接库:windows系统中库文件概念,这里是借用了这一概念。),Dl 前端开发:Webpack的使用总结 三掌柜666 web前端知识汇总webpack前端javascript 前言在前端开发过程中,尤其是现在前端框架的频繁使用的当下,作为前端开发者想必对于Webpack并不陌生,尤其是在使用Vue框架做前端开发的时候,打包时候必用Webpack。还有就是在前端求职面试的时候,Webpack相关的知识点也是面试官必定考察的,那么本篇博文就来分享一下关于Webpack使用相关的知识点,记录下来,方便后期查阅使用。Webpack概念Webpack其实是一个前端资源加载/打包工 Python前端开发 PITSU 正则表达式htmlcss3mysql Python前端开发1.前端三剑客(HTML,CSS和JavaScript)1.1HTML1.1.1HTML简介HyperTextMark-upLanguage,指的是超文本标记语言;html是开发网页的语言;html中的标签大多数都是成对出现的,格式:1.1.2HTML结构第一行是文档声明部分HTML:分为页头,页身和页脚。标签大部分是成对出现1.1.3第一行文档声明部分HTML在vscode中 【Vue+TypeScript实战指南:提高代码质量和开发效率】 小怪兽9699 typescriptvue.js前端 前言在现代前端开发中,Vue.js是一个非常流行且强大的框架,而TypeScript则是增强代码类型安全性和可维护性的利器。本文将详细介绍如何结合Vue和TypeScript来构建高质量的应用程序。无论你是有一定基础的开发者还是希望进一步提升技能的高手,本文都将为你提供详细的步骤和代码示例。1.环境搭建首先,确保你已经安装了Node.js和npm。然后,全局安装VueCLI:npminstall- Vue.js的watch监听 阿珊和她的猫 vue.js前端javascript 前端开发工程师、技术日更博主、已过CET6阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1牛客高级专题作者、打造专栏《前端面试必备》、《2024面试高频手撕题》、《前端求职突破计划》蓝桥云课签约作者、上架课程《Vue.js和Egg.js开发企业级健康管理项目》、《带你从入门到实战全面掌握uni-app》文章目录引言`watch`选项的基本概念`watch`选项的基本语法`watch 现代前端开发框架对比:React、Vue 和 Svelte 的选择指南 zhyoobo vue.jsreact.js前端 引言在当今快速发展的Web开发领域,前端框架的选择往往直接影响项目的开发效率、维护成本和用户体验。React、Vue和Svelte作为当前最受关注的三大框架,各自拥有独特的设计哲学与技术实现。本文将通过5000字的深度解析,从架构设计、开发体验、性能特征到生态系统四个维度进行全方位对比,并针对不同场景提供选型决策框架。无论您是初创团队的技术负责人,还是正在构建企业级应用的架构师,都能在此找到面向2 LORA的魔法棒:在Stable Diffusion中挥洒注意力机制的优化咒语 ?? DTcode7 AI生产力AIAIGCstablediffusionAI生产力前沿 LORA的魔法棒:在StableDiffusion中挥洒注意力机制的优化咒语??欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:DTcode7的博客首页。一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身农奴把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞 深入解析:React中的信号组件与细粒度更新 引言在主流的前端开发框架中,无论是React、Vue还是Svelte,核心都是围绕着更高效地进行UI渲染展开的。为了实现高性能,基于DOM总是比较慢这个假设前提,其最核心的要解决的问题有两个:响应式更新细粒度更新为了将响应式更新、细粒度更新优化到极致,各种框架是八仙过海,各显神通。以最流行的React和Vue为例,首先两者均引入了VirtualDOM的概念。Vue的静态模板编译,通过编译时的静态分 OpenTiny技术直播讲师招募:与开源同行,点亮技术影响力! 前端组件化低代码开源 OpenTiny企业级前端开发解决方案,正在寻找热爱分享的技术达人!加入我们的直播讲师团,与众多开发者一起分享你的经验,推动技术普惠,同时打造个人技术影响力!报名链接:https://www.wjx.cn/vm/tw7FOgC.aspx# Vue.js + Element UI 实战:手把手教你实现评论关键词过滤功能,新手必学!》 《前端开发必备技能:Vue 2 + Element UI 实现评论敏感词过滤,完整代码分享》 《新手友 南北极之间 vue.jsui前端敏感词关键词敏感词过滤 效果图【定制化开发服务,让您的项目领先一步】如有需求,直接私信留下您的联系方式。谢谢。我的邮箱:[email protected]以下是基于Vue2和ElementUI的评论关键词过滤功能实现,使用CDN引入Vue和ElementUI,方便在浏览器中直接预览。在线预览:Vue2+ElementUI实现评论关键词过滤功能目录需求场景技术选型实现步骤引入Vue2和ElementUI创建评论界面实现关键 deepseek 对于 Web 前端过去,现在,未来的看法!称未来可能不叫前端工程师... CoderBin_ 与deepseek的对话前端 一、你对于过去的web前端有什么看法?对早期的Web前端开发(大致在2000年代至2010年代初),可以总结出以下几个关键看法:1.技术原始,但充满探索精神基础技术简单:主要依赖HTML、CSS和原生JavaScript,缺乏现代框架和工具链的支持。兼容性噩梦:不同浏览器(尤其是IE6/7)的渲染差异极大,开发者需要大量Hack代码(如条件注释、CSS滤镜)来适配。创新萌芽:AJAX(2005年) 前端 Blob 详解 yqcoder 前端javascript开发语言 前端Blob详解1.什么是Blob?Blob(BinaryLargeObject)表示二进制大对象,用于存储二进制数据。在前端开发中,Blob常用于处理文件、图像、视频等二进制数据。2.创建Blob可以通过Blob构造函数创建Blob对象。constblob=newBlob(array,options);array:数组,包含要放入Blob的数据。可以是字符串、ArrayBuffer、ArrayB 【从零开始:如何用Vue3打造响应式个人博客网站】 小怪兽9699 vue.jsjavascriptecmascript 前言在前端开发领域,Vue.js是一个非常流行且强大的框架。本文将详细介绍如何使用Vue3构建一个完整的响应式个人博客网站。无论你是初学者还是有一定经验的开发者,本文都将为你提供详细的步骤和代码示例。1.环境搭建首先,确保你已经安装了Node.js和npm。然后,全局安装VueCLI:npminstall-g@vue/cli2.项目初始化使用VueCLI创建一个新的Vue项目:vuecreatem TypeScript语言的网络编程 俞嫦曦 包罗万象golang开发语言后端 TypeScript语言的网络编程引言随着现代网络应用程序的不断发展,对编程语言的需求也在不断提高。JavaScript作为前端开发的主要语言,凭借其动态特性和广泛的应用,成为了Web开发的中坚力量。而TypeScript作为JavaScript的超集,逐渐在开发社区中获得了越来越多的关注。其静态类型的特性使得开发者在编写大型应用程序时能够更加得心应手。尤其是在网络编程方面,TypeScript展 [星球大战]阿纳金的背叛 comsci 本来杰迪圣殿的长老是不同意让阿纳金接受训练的......... 但是由于政治原因,长老会妥协了...这给邪恶的力量带来了机会 所以......现代的地球联邦接受了这个教训...绝对不让某些年轻人进入学院 看懂它,你就可以任性的玩耍了! aijuans JavaScript javascript作为前端开发的标配技能,如果不掌握好它的三大特点:1.原型 2.作用域 3. 闭包 ,又怎么可以说你学好了这门语言呢?如果标配的技能都没有撑握好,怎么可以任性的玩耍呢?怎么验证自己学好了以上三个基本点呢,我找到一段不错的代码,稍加改动,如果能够读懂它,那么你就可以任性了。 function jClass(b Java常用工具包 Jodd Kai_Ge javajodd Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架。简单,却很强大! 写道 Jodd = Tools + IoC + MVC + DB + AOP + TX + JSON + HTML < 1.5 Mb Jodd 被分成众多模块,按需选择,其中 工具类模块有: jodd-core &nb SpringMvc下载 120153216 springMVC @RequestMapping(value = WebUrlConstant.DOWNLOAD) public void download(HttpServletRequest request,HttpServletResponse response,String fileName) { OutputStream os = null; InputStream is = null; Python 标准异常总结 2002wmj python Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失 SQL函数返回临时表结构的数据用于查询 357029540 SQL Server 这两天在做一个查询的SQL,这个SQL的一个条件是通过游标实现另外两张表查询出一个多条数据,这些数据都是INT类型,然后用IN条件进行查询,并且查询这两张表需要通过外部传入参数才能查询出所需数据,于是想到了用SQL函数返回值,并且也这样做了,由于是返回多条数据,所以把查询出来的INT类型值都拼接为了字符串,这时就遇到问题了,在查询SQL中因为条件是INT值,SQL函数的CAST和CONVERST都 java 时间格式化 | 比较大小| 时区 个人笔记 7454103 javaeclipsetomcatcMyEclipse 个人总结! 不当之处多多包含! 引用 1.0 如何设置 tomcat 的时区: 位置:(catalina.bat---JAVA_OPTS 下面加上) set JAVA_OPT 时间获取Clander的用法 adminjun Clander时间 /** * 得到几天前的时间 * @param d * @param day * @return */ public static Date getDateBefore(Date d,int day){ Calend JVM初探与设置 aijuans java JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台 SQL中ON和WHERE的区别 avords SQL中ON和WHERE的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 www.2cto.com 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 说说自信 houxinyou 工作生活 自信的来源分为两种,一种是源于实力,一种源于头脑.实力是一个综合的评定,有自身的能力,能利用的资源等.比如我想去月亮上,要身体素质过硬,还要有飞船等等一系列的东西.这些都属于实力的一部分.而头脑不同,只要你头脑够简单就可以了!同样要上月亮上,你想,我一跳,1米,我多跳几下,跳个几年,应该就到了!什么?你说我会往下掉?你笨呀你!找个东西踩一下不就行了吗? 无论工作还 WEBLOGIC事务超时设置 bijian1013 weblogicjta事务超时 系统中统计数据,由于调用统计过程,执行时间超过了weblogic设置的时间,提示如下错误: 统计数据出错! 原因:The transaction is no longer active - status: 'Rolling Back. [Reason=weblogic.transaction.internal 两年已过去,再看该如何快速融入新团队 bingyingao java互联网融入架构新团队 偶得的空闲,翻到了两年前的帖子 该如何快速融入一个新团队,有所感触,就记下来,为下一个两年后的今天做参考。 时隔两年半之后的今天,再来看当初的这个博客,别有一番滋味。而我已经于今年三月份离开了当初所在的团队,加入另外的一个项目组,2011年的这篇博客之后的时光,我很好的融入了那个团队,而直到现在和同事们关系都特别好。大家在短短一年半的时间离一起经历了一 【Spark七十七】Spark分析Nginx和Apache的access.log bit1129 apache Spark分析Nginx和Apache的access.log,第一个问题是要对Nginx和Apache的access.log文件进行按行解析,按行解析就的方法是正则表达式: Nginx的access.log解析正则表达式 val PATTERN = """([^ ]*) ([^ ]*) ([^ ]*) (\\[.*\\]) (\&q Erlang patch bookjovi erlang Totally five patchs committed to erlang otp, just small patchs. IMO, erlang really is a interesting programming language, I really like its concurrency feature. but the functional programming style log4j日志路径中加入日期 bro_feng javalog4j 要用log4j使用记录日志,日志路径有每日的日期,文件大小5M新增文件。 实现方式 log4j: <appender name="serviceLog" class="org.apache.log4j.RollingFileAppender"> <param name="Encoding" v 读《研磨设计模式》-代码笔记-桥接模式 bylijinnan java设计模式 声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 个人觉得关于桥接模式的例子,蜡笔和毛笔这个例子是最贴切的:http://www.cnblogs.com/zhenyulu/articles/67016.html * 笔和颜色是可分离的,蜡笔把两者耦合在一起了:一支蜡笔只有一种 windows7下SVN和Eclipse插件安装 chenyu19891124 eclipse插件 今天花了一天时间弄SVN和Eclipse插件的安装,今天弄好了。svn插件和Eclipse整合有两种方式,一种是直接下载插件包,二种是通过Eclipse在线更新。由于之前Eclipse版本和svn插件版本有差别,始终是没装上。最后在网上找到了适合的版本。所用的环境系统:windows7JDK:1.7svn插件包版本:1.8.16Eclipse:3.7.2工具下载地址:Eclipse下在地址:htt [转帖]工作流引擎设计思路 comsci 设计模式工作应用服务器workflow企业应用 作为国内的同行,我非常希望在流程设计方面和大家交流,刚发现篇好文(那么好的文章,现在才发现,可惜),关于流程设计的一些原理,个人觉得本文站得高,看得远,比俺的文章有深度,转载如下 ================================================================================= 自开博以来不断有朋友来探讨工作流引擎该如何 Linux 查看内存,CPU及硬盘大小的方法 daizj linuxcpu内存硬盘大小 一、查看CPU信息的命令 [root@R4 ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id" model name : Intel(R) Xeon(R) CPU X5450 @ 3.00GHz model name : linux 踢出在线用户 dongwei_6688 linux 两个步骤: 1.用w命令找到要踢出的用户,比如下面: [root@localhost ~]# w 18:16:55 up 39 days, 8:27, 3 users, load average: 0.03, 0.03, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 放手吧,就像不曾拥有过一样 dcj3sjt126com 内容提要: 静悠悠编著的《放手吧就像不曾拥有过一样》集结“全球华语世界最舒缓心灵”的精华故事,触碰生命最深层次的感动,献给全世界亿万读者。《放手吧就像不曾拥有过一样》的作者衷心地祝愿每一位读者都给自己一个重新出发的理由,将那些令你痛苦的、扛起的、背负的,一并都放下吧!把憔悴的面容换做一种清淡的微笑,把沉重的步伐调节成春天五线谱上的音符,让自己踏着轻快的节奏,在人生的海面上悠然漂荡,享受宁静与 php二进制安全的含义 dcj3sjt126com PHP PHP里,有string的概念。 string里,每个字符的大小为byte(与PHP相比,Java的每个字符为Character,是UTF8字符,C语言的每个字符可以在编译时选择)。 byte里,有ASCII代码的字符,例如ABC,123,abc,也有一些特殊字符,例如回车,退格之类的。 特殊字符很多是不能显示的。或者说,他们的显示方式没有标准,例如编码65到哪儿都是字母A,编码97到哪儿都是字符 Linux下禁用T440s,X240的一体化触摸板(touchpad) gashero linuxThinkPad触摸板 自打1月买了Thinkpad T440s就一直很火大,其中最让人恼火的莫过于触摸板。 Thinkpad的经典就包括用了小红点(TrackPoint)。但是小红点只能定位,还是需要鼠标的左右键的。但是自打T440s等开始启用了一体化触摸板,不再有实体的按键了。问题是要是好用也行。 实际使用中,触摸板一堆问题,比如定位有抖动,以及按键时会有飘逸。这就导致了单击经常就 graph_dfs hcx2013 Graph package edu.xidian.graph; class MyStack { private final int SIZE = 20; private int[] st; private int top; public MyStack() { st = new int[SIZE]; top = -1; } public void push(i Spring4.1新特性——Spring核心部分及其他 jinnianshilongnian spring 4.1 目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T 配置HiveServer2的安全策略之自定义用户名密码验证 liyonghui160com 具体从网上看 http://doc.mapr.com/display/MapR/Using+HiveServer2#UsingHiveServer2-ConfiguringCustomAuthentication LDAP Authentication using OpenLDAP Setting 一位30多的程序员生涯经验总结 pda158 编程工作生活咨询 1.客户在接触到产品之后,才会真正明白自己的需求。 这是我在我的第一份工作上面学来的。只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的。给出一个功能性原型设计远远比一张长长的文字表格要好。 2.只要有充足的时间,所有安全防御系统都将失败。 安全防御现如今是全世界都在关注的大课题、大挑战。我们必须时时刻刻积极完善它,因为黑客只要有一次成功,就可以彻底打败你。 3. 分布式web服务架构的演变 自由的奴隶 linuxWeb应用服务器互联网 最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问题的时候,应用也容易 初探Druid连接池之二——慢SQL日志记录 xingsan_zhang 日志连接池druid慢SQL 由于工作原因,这里先不说连接数据库部分的配置,后面会补上,直接进入慢SQL日志记录。 1.applicationContext.xml中增加如下配置: <bean abstract="true" id="mysql_database" class="com.alibaba.druid.pool.DruidDataSourc 按字母分类: ABCDEFGHIJKLMNOPQRSTUVWXYZ其他
// 77.获得当前的文本框选中的文字 // 78.跳转至目标页面,同时不可返回 sohu.com// 79.获得当前的行是表格的第几行
132.判断是什么对象 if(typeof(unknown)=="function")return true; if(typeof(unknown)!="object")return false;// 133.取消文本框自动完成功能 // 134.让下拉框自动下拉 1 2 3 // 135.读取XML文件 var childrenobj=myselect//document.all.myselect; var oXMLDoc = new ActiveXObject('MSXML'); oXMLDoc.url = "mymsg.xml"; var oRoot=oXMLDoc.root; if(oRoot.children != null) { for(var i=0;i 杭州地区 温州地区 台州地区 丽水地区 // 136.点击图片,图片停止 // 137.显示本地计算机信息 var WshNetwork = new ActiveXObject("WScript.Network"); alert("Domain = " + WshNetwork.UserDomain); alert("Computer Name = " + WshNetwork.ComputerName); alert("User Name = " + WshNetwork.UserName);// 138.比较时间 tDate = new Date(2004,01,08,14,35); //年,月,日,时,分 dDate = new Date(); tDatedddd// 140.注意不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为“undefined”。在以 下的代码范例中,假设程序员想测试是否已经声明变量 x : // 这种方法不起作用 if (x == undefined) // 作某些操作 // 这个方法同样不起作用- 必须检查 // 字符串 "undefined" if (typeof(x) == undefined) // 作某些操作 // 这个方法有效 if (typeof(x) == "undefined") // 作某些操作 141.创建具有某些属性的对象 var myObject = new Object(); myObject.name = "James"; myObject.age = "22"; myObject.phone = "555 1234";// 142.枚举(循环)对象的所有属性 for (var a in myObject) { // 显示 "The property 'name' is James",等等。 window.alert("The property '" + a + "' is " + myObject[a]); }// 143.判断一个数字是否是整数 var a=23.2; alert(a%1==1)// 144.新建日期型变量 var a = new Date(2000, 1, 1); alert(a.toLocaleDateString()); 145.给类定义新的方法 function trim_1() { return this.replace(/(^/s*)|(/s*$)/g, ""); } String.prototype.trim=trim_1; alert('cindy'.trim()); 146.定义一个将日期类型转化为字符串的方法 function guoguo_date() { var tmp1,tmp2; tmp1 =this.getMonth()+1+""; if(tmp1.length<2) tmp1="0"+tmp1; tmp2 =this.getDate()+""; if(tmp2.length<2) tmp2="0"+tmp2; return this.getYear()+"-"+tmp1+"-"+tmp2; } Date.prototype.toLiteString=guoguo_date; alert(new Date().toLiteString()) 147. pasta 是有四个参数的构造器,定义对象。 function pasta(grain, width, shape, hasEgg) { // 是用什么粮食做的? this.grain = grain; // 多宽?(数值) this.width = width; // 横截面形状?(字符串) this.shape = shape; // 是否加蛋黄?(boolean) this.hasEgg = hasEgg; //定义方法 this.toString=aa; } function aa() { ; } //定义了对象构造器后,用 new 运算符创建对象实例。 var spaghetti = new pasta("wheat", 0.2, "circle", true); var linguine = new pasta("wheat", 0.3, "oval", true); //补充定义属性,spaghetti和linguine都将自动获得新的属性 pasta.prototype.foodgroup = "carbohydrates"; 148.打印出错误原因 try { x = y // 产生错误。 } catch(e) { document.write(e.description) //打印 "'y' is undefined". }// 149.生成Excel文件并保存 var ExcelSheet; ExcelApp = new ActiveXObject("Excel.Application"); ExcelSheet = new ActiveXObject("Excel.Sheet"); //本代码启动创建对象的应用程序(在这种情况下,Microsoft Excel 工作表)。一旦对象被创建,就可以用定义的对 象变量在代码中引用它。 在下面的例子中,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象, 包括 Application 对象和 ActiveSheet.Cells 集合。 // 使 Excel 通过 Application 对象可见。 ExcelSheet.Application.Visible = true; // 将一些文本放置到表格的第一格中。 ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1"; // 保存表格。 ExcelSheet.SaveAs("C://TEST.XLS"); // 用 Application 对象用 Quit 方法关闭 Excel。 ExcelSheet.Application.Quit();// 150.根据标签获得一组对象 var coll = document.all.tags("DIV"); if (coll!=null) { for (i=0; i // 152.不通过form,直接通过名字引用对象 // 153.使鼠标滚轮失效 function document.onmousewheel() { return false; }// 154.创建弹出窗口 // 155.取得鼠标所在处的对象 var obj = document.elementFromPoint(event.x,event.y);// 156.获得左边的对象 // 157.定位鼠标 document.all.hint_layer.style.left = event.x+document.body.scrollLeft+10; document.all.hint_layer.style.top = event.y+document.body.scrollTop+10;// 158.向下拉框指定位置添加项目 var op = document.createElement("OPTION"); document.all.selected_items.children(index).insertAdjacentElement("BeforeBegin",op); op.text = document.all.all_items.text; op.value = document.all.all_items.value;// 159.判断一个窗口是否已经打开,如果已经打开,则关闭之 var a; if(a) a.close(); else a=window.open('','','');// 160.动态创建一个标签 newElem = document.createElement("DIV"); newElem.id = "hint_layer"; document.body.appendChild(newElem); document.all.hint_layer.innerText="guoguo";// 161.标题栏 document.title// 162.背景图片 //背景图片不动 //背景图片居中 163.设置透明效果 document.form.xxx.filters.alpha.opacity=0~100// 164.定义方法 var dragapproved=false; document.οnmοuseup=new Function("dragapproved = false");// 165.将数字转化为人民币大写形式 function convertCurrency(currencyDigits) { // Constants: var MAXIMUM_NUMBER = 99999999999.99; // Predefine the radix characters and currency symbols for output: var CN_ZERO = "零"; var CN_ONE = "壹"; var CN_TWO = "贰"; var CN_THREE = "叁"; var CN_FOUR = "肆"; var CN_FIVE = "伍"; var CN_SIX = "陆"; var CN_SEVEN = "柒"; var CN_EIGHT = "捌"; var CN_NINE = "玖"; var CN_TEN = "拾"; var CN_HUNDRED = "佰"; var CN_THOUSAND = "仟"; var CN_TEN_THOUSAND = "万"; var CN_HUNDRED_MILLION = "亿"; var CN_SYMBOL = "人民币"; var CN_DOLLAR = "元"; var CN_TEN_CENT = "角"; var CN_CENT = "分"; var CN_INTEGER = "整"; // Variables: var integral; // Represent integral part of digit number. var decimal; // Represent decimal part of digit number. var outputCharacters; // The output result. var parts; var digits, radices, bigRadices, decimals; var zeroCount; var i, p, d; var quotient, modulus; // Validate input string: currencyDigits = currencyDigits.toString(); if (currencyDigits == "") { alert("Empty input!"); return ""; } if (currencyDigits.match(/[^,./d]/) != null) { alert("Invalid characters in the input string!"); return ""; } if ((currencyDigits).match(/^((/d{1,3}(,/d{3})*(.((/d{3},)*/d{1,3}))?)|(/d+(./d+)?))$/) == null) { alert("Illegal format of digit number!"); return ""; } // Normalize the format of input digits: currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters. currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning. // Assert the number is not greater than the maximum number. if (Number(currencyDigits) > MAXIMUM_NUMBER) { alert("Too large a number to convert!"); return ""; } // http://www.knowsky.com/ Process the coversion from currency digits to characters: // Separate integral and decimal parts before processing coversion: parts = currencyDigits.split("."); if (parts.length > 1) { integral = parts[0]; decimal = parts[1]; // Cut down redundant decimal digits that are after the second. decimal = decimal.substr(0, 2); } else { integral = parts[0]; decimal = ""; } // Prepare the characters corresponding to the digits: digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE); radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND); bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); decimals = new Array(CN_TEN_CENT, CN_CENT); // Start processing: outputCharacters = ""; // Process integral part if it is larger than 0: if (Number(integral) > 0) { zeroCount = 0; for (i = 0; i < integral.length; i++) { p = integral.length - i - 1; d = integral.substr(i, 1); quotient = p / 4; modulus = p % 4; if (d == "0") { zeroCount++; } else { if (zeroCount > 0) { outputCharacters += digits[0]; } zeroCount = 0; outputCharacters += digits[Number(d)] + radices[modulus]; } if (modulus == 0 && zeroCount < 4) { outputCharacters += bigRadices[quotient]; } } outputCharacters += CN_DOLLAR; } // Process decimal part if there is: if (decimal != "") { for (i = 0; i < decimal.length; i++) { d = decimal.substr(i, 1); if (d != "0") { outputCharacters += digits[Number(d)] + decimals; } } } // Confirm and return the final output string: if (outputCharacters == "") { outputCharacters = CN_ZERO + CN_DOLLAR; } if (decimal == "") { outputCharacters += CN_INTEGER; } outputCharacters = CN_SYMBOL + outputCharacters; return outputCharacters; }// 166.xml数据岛绑定表格 接收人 发送人 主题 内容 表格的结束 //cd_catalog.xml Empire Burlesque Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988 Greatest Hits Dolly Parton USA RCA 9.90 1982 Still got the blues Gary Moore UK Virgin records 10.20 1990 // 167.以下组合可以正确显示汉字 ================================ xml保存编码 xml页面指定编码 ANSI gbk/GBK、gb2312 Unicode unicode/Unicode UTF-8 UTF-8 ================================ 168.XML操作 169.动态修改CSS的另一种方式 this.runtimeStyle.cssText = "color:#990000;border:1px solid #cccccc";// 170.正则表达式 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 匹配双字节字符(包括汉字在内):[^/x00-/xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;} 匹配空行的正则表达式:/n[/s| ]*/r 匹配HTML标记的正则表达式:/<(.*)>.*//1>|<(.*) //>/ 匹配首尾空格的正则表达式:(^/s*)|(/s*$) 应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function() { return this.replace(/(^/s*)|(/s*$)/g, ""); } 利用正则表达式分解和转换IP地址: 下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: function IP2V(ip) { re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error("Not a valid IP address!") } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip="10.100.20.168" ip=ip.split(".") alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* 匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? //利用正则表达式去除字串中重复的字符的算法程序: var s="abacabefgeeii" var s1=s.replace(/(.).*/1/g,"$1") var re=new RegExp("["+s1+"]","g") var s2=s.replace(re,"") alert(s1+s2) //结果为:abcefgi 思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方 法对于字符顺序有要求的字符串可能不适用。 //得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 s="http://www.9499.net/page1.htm" s=s.replace(/(.*//){0,}([^/.]+).*/ig,"$2") alert(s) /利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,'') )" 用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,'') )" 用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 171.设置和使用cookie 设置与读取 cookies... 写入cookie的值 // 172.取月的最后一天 function getLastDay(year,month) { //取年 var new_year = year; //取到下一个月的第一天,注意这里传入的month是从1~12 var new_month = month++; //如果当前是12月,则转至下一年 if(month>12) { new_month -=12; new_year++; } var new_date = new Date(new_year,new_month,1); return (new Date(new_date.getTime()-1000*60*60*24)).getDate(); }// 173.判断当前的焦点是组中的哪一个 for(var i=0;i<3;i++) if(event.srcElement==bb) break;// 174.实现类 package com.baosight.view.utils; import javax.servlet.jsp.tagext.TagSupport; import javax.servlet.http.HttpSession; public class Mytag extends TagSupport { public int doStartTag() throws javax.servlet.jsp.JspException { boolean canAccess = false; HttpSession session= pageContext.getSession(); if (canAccess) { return EVAL_BODY_INCLUDE; } else { return this.SKIP_BODY; } } } 175.在web.xml中添加定义 guoguo /WEB-INF/abc.tld 176.标签库中定义abc.tld 1.0 1.1 hr guoguo Extra 3 Tag Library mytag com.baosight.view.utils.Mytag id2 true true 177.在使用自定义标签的页面中加入自己定义的标签, <%@ taglib uri="guoguo" prefix="guoguo" %> //自己定义标签 178.显示带边框的集 查询条件 dfdfdf // 179.【文件(F)】菜单中的命令的实现 1、〖打开〗命令的实现 [格式]:document.execCommand("open") [说明]这跟VB等编程设计中的webbrowser控件中的命令有些相似,大家也可依此琢磨琢磨。 [举例]在之间加入: 打开 2、〖使用 记事本 编辑〗命令的实现 [格式]:location.replace("view-source:"+location) [说明]打开记事本,在记事本中显示该网页的源代码。 [举例]在之间加入: 使用 记事本编辑 3、〖另存为〗命令的实现 [格式]:document.execCommand("saveAs") [说明]将该网页保存到本地盘的其它目录! [举例]在之间加入: 另存为 4、〖打印〗命令的实现 [格式]:document.execCommand("print") [说明]当然,你必须装了打印机! [举例]在之间加入: 打印 5、〖关闭〗命令的实现 [格式]:window.close();return false [说明]将关闭本窗口。 [举例]在之间加入: 关闭本窗口 180.【编辑(E)】菜单中的命令的实现 〖全选〗命令的实现 [格式]:document.execCommand("selectAll") [说明]将选种网页中的全部内容! [举例]在之间加入: 全选 181.【查看(V)】菜单中的命令的实现 1、〖刷新〗命令的实现 [格式]:location.reload() 或 history.go(0) [说明]浏览器重新打开本页。 [举例]在之间加入: 刷新 或加入: 刷新 2、〖源文件〗命令的实现 [格式]:location.replace("view-source:"+location) [说明]查看该网页的源代码。 [举例]在之间加入: 查看源文件 3、〖全屏显示〗命令的实现 [格式]:window.open(document.location, "url", "fullscreen") [说明]全屏显示本页。 [举例]在之间加入: 全屏显示 182.【收藏(A)】菜单中的命令的实现 1、〖添加到收藏夹〗命令的实现 [格式]:window.external.AddFavorite('url', '“网站名”) [说明]将本页添加到收藏夹。 [举例]在之间加入: 添加到收 藏夹 2、〖整理收藏夹〗命令的实现 [格式]:window.external.showBrowserUI("OrganizeFavorites",null) [说明]打开整理收藏夹对话框。 [举例]在之间加入: 整理收藏夹 183.【工具(T)】菜单中的命令的实现 〖internet选项〗命令的实现 [格式]:window.external.showBrowserUI("PrivacySettings",null) [说明]打开internet选项对话框。 [举例]在之间加入: internet选项 184.【工具栏】中的命令的实现 1、〖前进〗命令的实现 [格式]history.go(1) 或 history.forward() [说明]浏览器打开后一个页面。 [举例]在之间加入: 前进 或加入: 前进 2、〖后退〗命令的实现 [格式]:history.go(-1) 或 history.back() [说明]浏览器返回上一个已浏览的页面。 [举例]在之间加入: 后退 或加入: 后退 3、〖刷新〗命令的实现 [格式]:document.reload() 或 history.go(0) [说明]浏览器重新打开本页。 [举例]在之间加入: 刷新 或加入: 刷新 185.其它命令的实现 〖定时关闭本窗口〗命令的实现 [格式]:settimeout(window.close(),关闭的时间) [说明]将关闭本窗口。 [举例]在之间加入: 3秒关闭本窗口 【附】为了方便读者,下面将列出所有实例代码,你可以把它们放到一个html文件中,然后预览效果。 打开 使用 记事本编辑 另存为 打印 关闭本窗口 全选 刷新 刷新 查看源文件 全屏显示 添加到收藏 夹 整理收藏夹 internet选项 前进1 前进2 后退1 后退2 3秒关闭本窗口 186.给DHTML中的标签添加一个新的属性,可以随意加 // 187.xmlhttp技术 此方法是通过XMLHTTP对象从服务器获取XML文档,示例如下。 // 201.将url转化为16进制形式 var ret = ''; for(var i=0; i < str.length; i++) { var ch = str.charAt(i); var code = str.charCodeAt(i); if(code < 128 && ch != '[' && ch != '/'' && ch != '=') { ret += ch; } else { ret += "[" + code.toString(16) + "]"; } } return ret;// 202.打开新的窗口并将新打开的窗口设置为活动窗口 var newWin=window.open("xxxx"); newWin.focus();// 203.容错脚本 JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError function handleError(message, URI, line) {// 提示用户,该页可能不能正确回应 return true; // 这将终止默认信息 }//在页面出错时进行操作 204.JS中的窗口重定向: window.navigate("http://www.sina.com.cn");// 205.防止链接文字折行 document.body.noWrap=true;// 206.判断字符是否匹配. string.match(regExpression)// 207. href="javascript:document.Form.Name.value='test';void(0);"//不能用onClick="javacript:document.Form.Name.v alue='test';return false;" 当使用inline方式添加事件处理脚本事,有一个被包装成匿名函数的过程,也就是说 onClick="javacript:document.Form.Name.value='test';return false;"被包装成了: functoin anonymous() { document.Form.Name.value='test';return false; } 做为A的成员函数onclick。 而href="javascript:document.Form.Name.value='test';void(0);"相当于执行全局语句,这时如果使用return语句会 报告在函数外使用return语句的错误。 208.进行页面放大 sdsdsdsdsdsdsdsds // 209.放置在页面的最右边 // 210.通过style来控制隔行显示不同颜色 // 211.全屏最大化 newwindow=window.open("","","scrollbars") if (document.all) { newwindow.moveTo(0,0) newwindow.resizeTo(screen.width,screen.height) }// 212.根据名字解析xml中的节点值 var XMLDoc=new ActiveXObject("MSXML"); XMLDoc.url="d:/abc.xml"; aRoot=XMLDoc.root; a1.innerText=aRoot.children.item("name").text;// 213.在页面上解析xml的值 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/5996c682-3472-4b03-9fb0-1e08 fcccdf35.asp // 214.看一个字符串里面有多少个回车符,返回值是一个数组 var s=value.match(//n/g);if(s)if(s.length==9){alert('10行了');return false;}// 215.获得asc码 var s='aa'; alert(s.charCodeAt(1))// 216.文字居右对齐 // 217.判断一个方法是否存在 function pageCallback(response){ alert(response); } if(pageCallback) alert(1)// 218.判断一个变量是否定义 if(typeof(a)=="undefined") { alert() }// 219.javascript执行本机的可执行程序,需设置为可信或者降低IE安全级别 // 226.获得对象类型 switch (object.constructor){ case Date: ... case Number: ... case String: ... case MyObject: ... default: ... }// 227.图片加载失败时重新加载图片 // 228. //font_effect.htc //abc.css tr{behavior:url(font_effect.htc);} 229.可以通过css和htc改变表格的颜色,仅IE支持 //xxx.html 1 2 3 4 5 6 // 230.在页面上画点 function a(x,y,color) { document.write("") }// 231.自动关闭网页 本页10秒后自动关闭,请注意刷新页面
sdsdsdsdsdsdsdsds
本页10秒后自动关闭,请注意刷新页面