147. pasta 是有四个参数的构造器,定义对象。
function pasta(grain, width, shape, hasEgg)
{
// 是用什么粮食做的?
this.grain = grain;
151.实现打印预览及打印
//
152.不通过form,直接通过名字引用对象
//
153.使鼠标滚轮失效
function document.onmousewheel()
{
return false;
}//
154.创建弹出窗口
//
155.取得鼠标所在处的对象
var obj = document.elementFromPoint(event.x,event.y);//
156.获得左边的对象
οnclick="this.previousSibling.value='guoguo'">//
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[i].text;
op.value = document.all.all_items[i].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[i];
}
}
}
// 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[i])
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
"http://tool.admin5.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
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.显示带边框的集
//
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文档,示例如下。
//
188.服务器端通过request.getReader()获得传入的字符串
189.在java中使用正则表达式
java.util.regex.Pattern p =
java.util.regex.Pattern.compile("//d+|.//d+|//d+.//d*|(E|//d+E|.//d+E|//d+.//d*E)((//+|-)//d|//d)//d*");
java.util.regex.Matcher m = p.matcher("12.E+3");
boolean result = m.matches();//
190.给下拉框分组
//
191.加注音
基准文本
//
192.加删除线
此文本将带删除线显示。//
193.取frame中的event事件
document.frames("workspace").event.keyCode//
194.是弹出方法的定义
String.prototype.trim=function()
{
return this.replace(/(^/s*)|(/s*$)/g, "");
}
alert(" ".trim)//
195.防止网页被包含
if (window != window.top)
top.location.href = location.href;//
196.让网页一直在frame里面
if(window==window.top)
{
document.body.innerHTML="
请通过正常方式访问本页面!
";
//window.close();
}//
197.加为首页
//
198.xml数据岛操作
HTML中的数据岛中的记录集
酒店名称:
地址:
主页:
电子邮件:
电话:
级别:
四海大酒店
海魂路1号
www.admin5.com.cn
[email protected]
(0989)8888888
五星级
五湖宾馆
东平路99号
www.admin5.cn
[email protected]
(0979)1111666
四星级
“大沙漠”宾馆
留香路168号
www.admin5.net
[email protected]
(0989)87878788
五星级
“画眉鸟”大酒店
血海飘香路2号
www.admin5.net
[email protected]
(099)9886666
五星级
//xml数据岛中添加记录
-------------------------------
The following list is a sample of the properties and methods that you use to access nodes in an XML
document.
Property/ Method Description
XMLDocument Returns a reference to the XML Document Object Model (DOM) exposed by the object.
documentElement Returns the document root of the XML document.
childNodes Returns a node list containing the children of a node (if any).
item Accesses individual nodes within the list through an index. Index values are zero-based, so
item(0) returns the first child node.
text Returns the text content of the node.
The following code shows an HTML page containing an XML data island. The data island is contained within
the element.
HTML with XML Data Island Within this document is an XML data island.
Adventure Works
Alpine Ski House
For an example, you can cut and paste this sample line of code:
resortXML.XMLDocument.documentElement.childNodes.item(1).text//读取页面上的XML数据岛中的数据
resortXML.documentElement.childNodes.item(0).getAttribute("code")//读取页面上的XML数据岛中的数据
resortXML.documentElement.childNodes[0].getAttribute("code")//读取页面上的XML数据岛中的数据
199.模式窗口
父窗口
var url="aaa.jsp";
var
data=showModalDialog(url,null,"dialogHeight:400px;dialogHeight:600px;center:yes;help:No;status:no;resizab
le:Yes;edge:sunken");
if(data)
alert(data.value);
子窗口
var data=new Object();
data.value1="china";
window.returnValue=data;
window.close();
200.动态设置事件,带参数
//
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安全级别
调用方式
测试//
220.弹出新页面,关闭旧页面,不弹出提示框
var w=screen.availWidth-10;
var h=screen.availHeight-10;
var swin=window.open("/message_management.jsp",
"BGSMbest","scrollbars=yes,status,location=0,menubar=0,toolbar=0,resizable=no,top=0,left=0,height="+h+",w
idth="+w);
window.opener=null;
window.close();//
221.能输入的下拉框
//
222.在方法中定义全局变量
function globalVar (script) {
eval(script);//all navigators
//window.execScript(script); //for ie only
}
globalVar('window.haha = "../system";');
alert(haha);//在方法中定义全局变量,其中的haha就是全局变量了
223.显示一个对象的全部的属性和属性的值
var a=new Object();
a.name='a1';
a.***='mail'
for(var p in a)
{
alert(p+"="+a[p])
}//
224.16进制转换成10进制
var n = parseInt("2AE",16);//这里将16进制的 2AE 转成 10 进制数,得到 n 的值是 686
225.复制粘贴
//
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
//
230.在页面上画点
function a(x,y,color)
{
document.write("")
}//
231.自动关闭网页
本页10秒后自动关闭,请注意刷新页面