javaScript技巧集合(二)

//各种尺寸
s   +=  "\r\n网页可见区域宽:"+   document.body.clientWidth;  
s   +=  "\r\n网页可见区域高:"+   document.body.clientHeight;  
s   +=  "\r\n网页可见区域高:"+   document.body.offsetWeight   +"   (包括边线的宽)";  
s   +=  "\r\n网页可见区域高:"+   document.body.offsetHeight   +"   (包括边线的宽)";  
s   +=  "\r\n网页正文全文宽:"+   document.body.scrollWidth;  
s   +=  "\r\n网页正文全文高:"+   document.body.scrollHeight;  
s   +=  "\r\n网页被卷去的高:"+   document.body.scrollTop;  
s   +=  "\r\n网页被卷去的左:"+   document.body.scrollLeft;  
s   +=  "\r\n网页正文部分上:"+   window.screenTop;  
s   +=  "\r\n网页正文部分左:"+   window.screenLeft;  
s   +=  "\r\n屏幕分辨率的高:"+   window.screen.height;  
s   +=  "\r\n屏幕分辨率的宽:"+   window.screen.width;  
s   +=  "\r\n屏幕可用工作区高度:"+   window.screen.availHeight;  
s   +=  "\r\n屏幕可用工作区宽度:"+   window.screen.availWidth;  

//过滤数字

 

//特殊用途

 

//不缓存

 


//正则匹配

 

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

//消除图像工具栏

 

<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">
or
<head>
<meta http-equiv="imagetoolbar" content="no">
</head>

//无提示关闭

function Close()
{
var ua=navigator.userAgent
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
if(ie)
{
      var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))
  if(IEversion< 5.5)
   {
   var str   = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
        str += '<param name="Command" value="Close"></object>';
        document.body.insertAdjacentHTML("beforeEnd", str);
        document.all.noTipClose.Click();
   }
       else
   {
        window.opener =null;
        window.close();
       }
    }
else
{
   window.close()
    }
}

//取得控件得绝对位置(1)

<script language="javascript">
function getoffset(e)
{
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent)
{
   t+=e.offsetTop;
   l+=e.offsetLeft;
}
var rec = new Array(1);
rec[0]   = t;
rec[1] = l;
return rec
}
</script>

//获得控件的绝对位置(2)

oRect = obj.getBoundingClientRect();
oRect.left
oRect.

//最小化,最大化,关闭

 

 

//光标停在文字最后

 

<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart('character',e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">

//页面进入和退出的特效

进入页面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
推出页面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使
用哪种特效,取值为1-23:
0 矩形缩小
1 矩形扩大
2 圆形缩小
3 圆形扩大
4 下到上刷新
5 上到下刷新
6 左到右刷新
7 右到左刷新
8 竖百叶窗
9 横百叶窗
10 错位横百叶窗
11 错位竖百叶窗
12 点扩散
13 左右到中间刷新
14 中间到左右刷新
15 中间到上下
16 上下到中间
17 右下到左上
18 右上到左下
19 左上到右下
20 左下到右上
21 横条
22 竖条
23

 

posted on 2008-08-09 21:53  王丹小筑  阅读(137)  评论(0)    收藏  举报

导航