1、获取Url中的参数
2、控制文本框只能输入数字
3、删除左右两端的空格
4、将日期转换成"yyyy-mm-dd"格式
5、JavaScript获取用户使用的浏览器类型
6、JavaScript获取浏览器高宽度
7、JavaScript中读取JSON的方法
8、解决使用ajax方式对select控件进行填充时,ie下会出现样式BUG
9、js实现复制到剪贴板(IE, firefox)
10、JQuery实现组合键[Ctrl+Enter]提交表单
11、计算器
12、数组排序(升序、降序、随机)
13、随机整数(指定范围内的随机整数)
14、字符串截取
1、获取URL中的request参数
- function getUrlParam(name)
- {
- var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- if (r!=null)
- {
- return decodeURIComponent(r[2]);
- }
- else
- {
- return "";
- }
- }
- function _OnlyAllowNumKeyup(o) {
- o.value = o.value.replace(/[^0-9.]/g, '');
- }
- //调用<input type="text" οnkeyup="_OnlyAllowNumKeyup(this)" />
- function Trim(str)
- {
- return str.replace(/(^\s*)|(\s*$)/g, "");
- }
- function ConvertDateFormat(strDate, sye) {
- if (strDate == null || strDate == "" || strDate == "0") {
- return ("");
- }
- else {
- try {
- var ExDate = new Date(strDate.replace(/-/g, "/"));
- var yyyy = ExDate.getFullYear();
- var mm = ExDate.getMonth() + 1; mm = mm < 10 ? "0" + mm : mm;
- var dd = ExDate.getDate(); dd = dd < 10 ? "0" + dd : dd;
- switch (sye) {
- case "ym":
- return yyyy + "-" + mm;
- break;
- case "md":
- return mm + "-" + dd;
- break;
- default:
- return yyyy + "-" + mm + "-" + dd;
- break;
- }
- }
- catch (e) {
- return ("")
- }
- }
- }
- function GetClientOs()
- {
- var OsObject = "";
- if(navigator.userAgent.indexOf("MSIE")>0) {
- return "MSIE";
- }
- if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
- return "Firefox";
- }
- if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
- return "Safari";
- }
- if(isCamino=navigator.userAgent.indexOf("Camino")>0){
- return "Camino";
- }
- if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
- return "Gecko";
- }
- }
- //获取浏览器高宽度
- function AlertSize() {
- var myWidth = 0, myHeight = 0;
- if (typeof (window.innerWidth) == 'number') {
- //Non-IE
- myWidth = window.innerWidth;
- myHeight = window.innerHeight;
- } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
- //IE 6+ in 'standards compliant mode'
- myWidth = document.documentElement.clientWidth;
- myHeight = document.documentElement.clientHeight;
- } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
- //IE 4 compatible
- myWidth = document.body.clientWidth;
- myHeight = document.body.clientHeight;
- }
- window.alert('Width = ' + myWidth);
- window.alert('Height = ' + myHeight);
- }
7、JavaScript中读取JSON的方法
- //使用JavaScript提供的eval()函数
- var strJSON = "{name:'json name'}";//得到的JSON
- var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象
- alert(obj.name);//json name
8、解决使用ajax方式对select控件进行填充时,ie下会出现样式BUG
- //绑定商铺下拉列表(实例代码段)
- function BindShopList() {
- //绑定商铺列表数据
- if (result.ShopList != null) {
- tmp = "";
- for (var i = 0; i < result.ShopList.length; i++) {
- tmp += "<option value='" + result.ShopList[i].ShopID + "'>" + result.ShopList[i].ShopName + "</option>";
- }
- $("#selShop").css('visibility', 'hidden').append(tmp).css('visibility', 'visible'); //(1)解决数据绑定时样式BUG(这里使用了JQuery)
- }
- //数据绑定完成后,选中设定的商铺
- if (result.ShopID > 0) {
- setTimeout(function() { $("#selShop").val(result.ShopID); }, 500); //(2)利用延时解决IE6下出错问题
- }
- }
9、js实现复制到剪贴板(IE, firefox)
- function copyToClipboard(meintext) {
- if (window.clipboardData) {
- window.clipboardData.setData("Text", meintext);
- }
- else if (window.netscape) {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- } catch (e) {
- alert("被浏览器拒绝!请在浏览器地址栏输入'about:config',回车\n,将'signed.applets.codebase_principal_support'设置为'true'");
- }
- var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
- if (!clip) return;
- var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
- if (!trans) return;
- trans.addDataFlavor('text/unicode');
- var str = new Object();
- var len = new Object();
- var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
- var copytext = meintext;
- str.data = copytext;
- trans.setTransferData("text/unicode", str, copytext.length * 2);
- var clipid = Components.interfaces.nsIClipboard;
- if (!clip) return false;
- clip.setData(trans, null, clipid.kGlobalClipboard);
- }
- alert("复制成功");
- return false;
- }
- $("#comment_text").keydown(function(even) {
- if (even.ctrlKey && even.which == 13) {
- $('#comment_form').submit();
- }
- });
11、计算器
- //计算器
- //参数:a:算数1、b:算数2、operator:运算符、prec:四舍五入(小数点位数)
- function calculator(a, b, operator, prec) {
- try {
- var La = a.toString().split('.')[1].length;
- } catch (e) {
- var La = 0;
- }
- try {
- var Lb = b.toString().split('.')[1].length;
- } catch (e) {
- var Lb = 0;
- }
- var A = a.toString().replace('.', ''),
- B = b.toString().replace('.', ''),
- C = Math.pow(10, Math.max(La, Lb)),
- D;
- switch (operator) {
- case '+':
- D = (Number(a) * C + Number(b) * C) / C;
- break;
- case '-':
- D = (Number(a) * C - Number(b) * C) / C;
- break;
- case '*':
- D = Number(A) * Number(B) / Math.pow(10, La + Lb);
- break;
- case '/':
- D = Number(A) / Number(B) * Math.pow(10, Lb - La);
- break;
- default:
- D = Number(a);
- }
- if (prec) {
- return D.toFixed(prec);
- } else {
- return D;
- }
- }
- //如何使用
- var num1 = 1.2;
- var num2 = 3;
- calculator(num1, num2, "+", 2); //4.20
- calculator(num1, num2, "*", 2); //3.60
12、数组排序(升序、降序、随机)
- var arrA = [6, 2, 4, 3, 5, 1];
- //数组升序排序
- Array.prototype.AscSort = function() {
- return this.sort(function(x, y) {
- if (x > y)
- return 1;
- if (x < y)
- return -1;
- });
- };
- //数组降序排序
- Array.prototype.DescSort = function() {
- return this.sort(function(x, y) {
- if (x > y)
- return -1;
- if (x < y)
- return 1;
- });
- };
- //数组随机排序
- Array.prototype.RandomSort = function() {
- return this.sort(function() {
- return Math.random() > 0.5 ? -1 : 1;
- });
- };
- //升序排序
- arrA.AscSort();
- document.writeln(arrA);
- document.writeln("<br>");
- //降序排序
- arrA.DescSort();
- document.writeln(arrA);
- document.writeln("<br>");
- //随机排序
- arrA.RandomSort();
- document.writeln(arrA);
13、随机整数(指定范围内的随机整数)
- //随机整数(指定范围内的随机整数)
- function fRandomBy(under, over) {
- switch (arguments.length) {
- case 1: return parseInt(Math.random() * under + 1);
- case 2: return parseInt(Math.random() * (over - under + 1) + under);
- default: return 0;
- }
- }
- document.write(fRandomBy(1, 100)); //输出指定范围内的随机数的随机整数
14、字符串截取
- //截取
- String.prototype.len = function() {
- return this.replace(/[^\x00-\xff]/g, "**").length
- };
- String.prototype.cut = function(l) {
- if (this.len() <= l) {
- return this
- } else {
- for (var i = Math.floor(l / 2); i < this.len(); i++) {
- if (this.substr(0, i).len() >= l) {
- return this.substr(0, i)
- }
- }
- }
- };
- //使用
- var str = "中文字abcdefghijk";
- alert(str.cut(7)); //结果:“中文字a”