JavaScript常用技巧

来源:互联网 发布:mac中局部放大快捷键 编辑:程序博客网 时间:2024/04/29 20:57

经常用到的Js代码,放在这里备个份

1.文本框只能输入数字

<input name="test" value="" onKeypress="CheckInt()" style="ime-mode:disabled" onpaste="return false;">
<script language="JavaScript">
  function CheckInt(){
    if (!(((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 45))){
      event.keyCode = 0 ;
    }
 }
</script>

2.光标总停留在文本框的末尾

<input type='text' name='text1' value='这里是' onfocus='fcs()'>
<script language="javascript">
  function fcs(){
    obj = event.srcElement;
    Rng = obj.createTextRange();
    Rng.moveStart("character",obj.value.length);
    Rng.collapse(true);
    Rng.select();
  }
</script>

3.取自定义标签内的文本

<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<html xmlns:my="html">
<head>
<script>
function getElement(){
   obj = document.getElementById('tag');
   alert(obj.childNodes[0].nodeValue);
}
</script>
</head>
<body>
<my:tag id='tag'>Hello JavaScript</my:tag><br/>
<button onclick='getElement()'>test</button>
</body>
</html>

4.一个右键菜单控件

<OBJECT id=menu type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="Related Topics,menu">
<PARAM name="Item1" value="CSDN;http://www.csdn.net">
<PARAM name="Item2" value="搜狐;http://www.sohu.com">
<PARAM name="Item3" value="新浪;http://www.sina.com">
<PARAM name="Item4" value="网易;http://www.163.com">
</OBJECT>
<script>
 if (document.all) document.body.onmousedown=new Function("if (event.button==2) menu.Click();")
</script>

5.用层模拟select边框

<span style="border:1px solid #7FFF00; position:absolute; overflow:hidden">
  <select style="margin:-1px">
    <option>aaa</option>
    <option>bbb</option>
    <option>ccc</option>
  </select>
</span>

6.常用正则:

reg = /^(/w)*$/g; //只可输入半角字符(字母,数字)

reg = /^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/   //Email验证

reg = /^13+[0-9]{9}$/;   //手机号码验证

reg = /[/u4E00-/u9FA5]/gi; //判断字符串是否包含中文

reg = /(^/s*)|(/s*$)/g;         //字符串两端去空格

7.判断iframe是否已完全下载:

<iframe id="theframe" src="http://www.baidu.com" onreadystatechange="test_load()" width="100%" height="100%"></iframe>
<script>
function test_load(){
  if (document.all.theframe.readyState=="complete")
  alert("iframe已经下载完毕...");
}
</script>

8. 返回本地时间,精确到毫秒
function GetTime(){
   var n, now_time='';
   n = new Date();
   now_time += n.getYear();
   now_time += '年'+(n.getMonth()+1);
   now_time += '月'+n.getDate();
   now_time += '日'+n.getHours();
   now_time += '时'+n.getMinutes();
   now_time += '分'+n.getSeconds();
   now_time += '秒'+n.getMilliseconds();
   now_time += '微秒';
   return( now_time );
}

9.格式化日期(转)

Date.prototype.Format = function(format)
{
  var o = {
    "M+" : this.getMonth()+1, //month
    "d+" : this.getDate(),    //day
    "h+" : this.getHours(),   //hour
    "m+" : this.getMinutes(), //minute
    "s+" : this.getSeconds(), //second
    "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
    "S" : this.getMilliseconds() //millisecond
  }
  if(/(y+)/.test(format))
     format = format.replace(RegExp.$1,
       (this.getFullYear()+"").substr(4 - RegExp.$1.length));
     for(var k in o)
      if(new RegExp("("+ k +")").test(format))
        format = format.replace(RegExp.$1,
          RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
     return format;
};

10. $函数 function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

11.

<input type='file' />控件上传文件对文件的大小有限制,默认情况下大概在4m左右,如果上传再大的文件时就会出页面无法显示的错误.
修改web.config文件中的参数可以设置该控件上传文件的大小,web.config中配置如下:
<system.web>节点下增加"<httpRuntime maxRequestLength="409600"/>"可以来设置<input type='file' />控件上传文件的大小,maxRequestLength以字节位单位

12.

submit.htm

<html><title>example</title>
<body>
<form name="form1" method="post" action="upload.asp" enctype="multipart/form-data">
<input type=file name="file1">
<input type=submit name="submit" value="提交">
</form>
</body>
</html>
upload.asp

<%@ Language=VBScript %>
<%
function binarytoasi(byval varstr)
   asi=""
   for i=1 to 3
       asi=asi&chr(ascb(midb(varstr,i,1)))
   next
   binarytoasi=asi
end function

formsize=request.totalbytes
formdata=request.binaryread(request.totalbytes ) '获得上传数据
bcrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bcrlf))-1)

Position=instrb(formdata,bcrlf & bcrlf)+4        '上传文件数据开始位
filesize=instrb(Position+1,formdata,divider)-Position-4 '上传文件数据长度
exnamestart=instrb(1,formdata,chrb(46),1)+1       
exnameend=instrb(exnamestart,formdata,chrb(34),1)
exname=midb(formdata,exnamestart,exnameend-exnamestart)

set dr=CreateObject("Adodb.Stream")
    dr.Mode=3: dr.Type=1:dr.Open
set dr1=CreateObject("Adodb.Stream")
    dr1.Mode=3:dr1.Type=1:dr1.Open  

dr.Write formdata
dr.Position=Position-1
dr.CopyTo dr1,filesize
dr1.SaveToFile "d:/mailtemp/temp_"&session("userid")&"."&binarytoasi(exname),2 '文件保存
set dr=nothing:set dr1=nothing

%>
http://blog.csdn.net/lvxiaodong/

http://www.csdn.net/develop/article/18/18517.shtm

 

原创粉丝点击