js与jq基础记录

1、在js传递参数中含加号(+)的处理方式:

  只需要把js中传过去的+号替换成base64 编码 %2B:encodeURI(str).replace(/+/g,'%2B')。

2、随机产生8位随机数:

$.GetRandom = function () {
  var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
  // 产生随机数
  var res = "";
  for (var i = 0; i < 8 ; i++) {
    var id = Math.ceil(Math.random() * 35);
    res += chars[id];
  }
  return res;
}

 

3、判断字符串是否为整数:

var infoID="123456";
var re = /^-?d+$/;
if (!re.test(infoID)) {
  alert("不是整数");
  return false;
}
else {
  alert("整数");
}

 4、获取(绝对与相对)坐标:

  获取页面某一元素的绝对X,Y坐标,可以用offset()方法:(body属性设置margin :0;padding:0;)

  var X = $('#DivID').offset().top; 

  var Y = $('#DivID').offset().left; 

  获取相对(父元素)位置: 

  var X = $('#DivID').position().top; 

  var Y = $('#DivID').position().left; 

5、html()特殊字符部分字符转义替换:

  function StrReplace(str) {
    return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\/g, "&quot;").replace(/'/g, "&#39;");
  }

 6、日期与时间函数:

var date = new Date();
date.getYear();        //获取年份(2位)
date.getFullYear();    //获取完整的年份(4位,1970-)
date.getMonth();       //获取月份(0-11,0代表1月,所以在显示当前时间的时候需要date.getMonth() + 1)
date.getDate();        //获取日(1-31)
date.getDay();         //获取星期?(0-6,0代表星期天)
date.getTime();        //获取时间(从1970.1.1开始的毫秒数)
date.getHours();       //获取小时数(0-23)
date.getMinutes();     //获取分钟数(0-59)
date.getSeconds();     //获取秒数(0-59)
date.getMilliseconds();    //获取毫秒数(0-999)
date.toLocaleDateString();     //获取日期
var time=date.toLocaleTimeString();     //获取时间
date.toLocaleString();        //获取日期与时间

  时间相减 即时间间隔 只有日、时、分、秒等的说法

function DateDiff(sDate1, sDate2){ //sDate1和sDate2是字符串 yyyy-MM-dd格式
  var aDate, oDate1, oDate2, iDays, ihours, iminutes, iseconds;
  aDate = sDate1.split("-");
  oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);//转换为MM-dd-yyyy格式
  aDate = sDate2.split("-");
  oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
  var timeSpan = {};
  var TotalMilliseconds = Math.abs(oDate1 - oDate2);//相差的毫秒数
  timeSpan.Days = parseInt(TotalMilliseconds / 1000 / 60 / 60 /24);
  timeSpan.TotalHours = parseInt(TotalMilliseconds / 1000 / 60 / 60);
  timeSpan.Hours = timeSpan.TotalHours % 24;
  timeSpan.TotalMinutes = parseInt(TotalMilliseconds / 1000 / 60);
  timeSpan.Minutes = timeSpan.TotalMinutes % 60;
  timeSpan.TotalSeconds = parseInt(TotalMilliseconds / 1000);
  timeSpan.Seconds = timeSpan.TotalSeconds % 60;
  timeSpan.TotalMilliseconds = TotalMilliseconds;
  timeSpan.Milliseconds = TotalMilliseconds % 1000;
  return timeSpan;
}

 7、Asp.net 后台调用js方法(转)

1>. 用Response.Write方法
  代码如下:
  Response.Write("<script type='text/javascript'>alert("XXX");</script>");
  此方法缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如
  Response.Write("<script type='text/javascript'>function myfun(){}</script>");

2>.用ClientScript类
  代码如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了,且在执行之前定义。
  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
  这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。

3>.普通的添加控件的Attributes属性
  对于普通按钮就是:Button1.Attributes.Add("onclick","MyFun();");
  只能在Onload中或类似于onload的初始化过程中添加才有效。而且是先执行脚本函数,无法改变执行顺序。

注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如Redirect等,要把转页代码放在脚本里面

原文地址:https://www.cnblogs.com/Iven-zhang/p/5036699.html