浏览 12543 次
锁定老帖子 主题:常见js函数
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-09
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; } /*根据元素ID取得元素*/ function $E(elemid) { return document.getElementById(elemid); } /*根据元素ID取得元素的value*/ function $Vo(elemid) { return document.getElementById(elemid).value; } /*根据元素ID取得元素的innerHTML*/ function $H(elemid) { return document.getElementById(elemid).innerHTML; } /*根据元素ID隐藏该元素*/ function $Hide(id) { document.getElementById(id).style.display = 'none'; } /*根据元素ID显示该元素*/ function $Display(id) { document.getElementById(id).style.display = 'block'; } /*根据元素ID设置该元素为空*/ function $Dlose(id) { document.getElementById(id).innerHTML=''; } /*网页转向*/ function $U(url){ window.location.href=url; } /*取字符长度,一个中文字符为两个字节*/ function $Len(str){ return (''+str).replace(/[^\x0000-\xFF00]/gi,'xx').length; } //用正则表达式将前后空格用空字符串替代。 function trim(strSrc) { return strSrc.replace(/(^\s*)|(\s*$)/g, ""); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-09
//onkeypress时根据输入类型控制输入字符,"F":浮点型 "I":整型 "D":日期型
function filterKey(sType){ var iKey = window.event.keyCode; if(sType == "F"){ //浮点型 if(iKey != 45 && iKey != 46 && iKey != 13 && iKey != 11 && !(iKey>=48 && iKey<=57)) window.event.keyCode = 0 else{ if(iKey == 46){ var obj = window.event.srcElement; if(obj.value.indexOf(".")>=0) window.event.keyCode = 0; } if(iKey == 45){ var obj = window.event.srcElement; if(obj.value.indexOf("-")>=0) window.event.keyCode = 0; else{ window.event.keyCode = 0; obj.value = "-" + obj.value; if(obj.onchange != null){ obj.onchange(); } } } } } //end "F" else if(sType == "I"){ //整型 if(iKey != 13 && iKey != 45 && iKey != 11 && !(iKey>=48 && iKey<=57)) window.event.keyCode = 0; else if(iKey == 45){ var obj = window.event.srcElement; if(obj.value.indexOf("-")>=0) window.event.keyCode = 0; else{ window.event.keyCode = 0; obj.value = "-" + obj.value; if(obj.onchange != null){ obj.onchange(); } } } } // end "I" else if(sType == "D"){ //日期型 var obj = window.event.srcElement; var strDate = obj.value; if(strDate.length>=10){ window.event.keyCode = 0; return; } else if(strDate.length<4){ //年 if(iKey != 13 && iKey != 11 && !(iKey>=48 && iKey<=57)) window.event.keyCode = 0; } else if(strDate.length == 4){ //分隔符 if(iKey != 45 && iKey != 47) window.event.keyCode = 0; } else if(strDate.length>=5){ if( strDate.indexOf("-") > 0 && strDate.indexOf("-") == strDate.lastIndexOf("-")){ //正输入月份 if(strDate.length>=7 && iKey != 45){ //如果长度过长,则退出 window.event.keyCode = 0; return; } if(iKey>=48 && iKey<=57){ var iPos = strDate.indexOf("-"); var iMonth = parseInt("" + strDate.substr(iPos+1,strDate.length-iPos-1) + (parseInt(iKey) - 48)); if(strDate.length>=6 && (iMonth <1 || iMonth > 12)){ window.event.keyCode = 0; return; } } } // end if("-") else if( strDate.indexOf("/") > 0 && strDate.indexOf("/") == strDate.lastIndexOf("/")){ //正输入月份 if(strDate.length>=7 && iKey != 47){ //如果长度过长,则退出 window.event.keyCode = 0; return; } if(iKey>=48 && iKey<=57){ var iPos = strDate.indexOf("/"); var iMonth = parseInt("" + strDate.substr(iPos+1,strDate.length-iPos-1) + (parseInt(iKey) - 48)); if(strDate.length >= 6 && (iMonth <1 || iMonth > 12)){ window.event.keyCode = 0; return; } } } // end if("/") else if( strDate.indexOf("-") > 0 && strDate.indexOf("-") != strDate.lastIndexOf("-")){ //正输入日期 if(iKey>=48 && iKey<=57){ var iPos = strDate.lastIndexOf("-"); if(strDate.length - iPos > 2){ window.event.keyCode = 0; return; } var iDay = parseInt("" + strDate.substr(iPos+1,strDate.length-iPos-1) + (parseInt(iKey) - 48)); if(iDay > 31){ window.event.keyCode = 0; return; } } } else if( strDate.indexOf("/") > 0 && strDate.indexOf("/") != strDate.lastIndexOf("/")){ //正输入日期 if(iKey>=48 && iKey<=57){ var iPos = strDate.lastIndexOf("/"); if(strDate.length - iPos > 2){ window.event.keyCode = 0; return; } var iDay = parseInt("" + strDate.substr(iPos+1,strDate.length-iPos-1) + (parseInt(iKey) - 48)); if(iDay > 31){ window.event.keyCode = 0; return; } } } } if(strDate.charAt(strDate.length-1) == "-" || strDate.charAt(strDate.length-1) == "/"){ if(iKey != 13 && iKey != 11 && !(iKey>=48 && iKey<=57)) window.event.keyCode = 0; } if(iKey == 47 || iKey == 45){ if(strDate.indexOf("-") > 0 && iKey == 47) window.event.keyCode = 0; if(strDate.indexOf("/") > 0 && iKey == 45) window.event.keyCode = 0; } } // end "D" } |
|
返回顶楼 | |
发表时间:2008-10-09
/*自适应大小*/ function DrawImage(ImgD,_width,_height){ if(!_width) _width=120; if(!_height) _height=120; var flag=false; var image=new Image(); image.src=ImgD.src; if(image.width>0&&image.height>0){ flag=true; if(image.width/image.height>=_width/_height){//120/120 if(image.width>_width){ ImgD.width=_width; ImgD.height=(image.height*_width)/image.width; }else{ ImgD.width=image.width; ImgD.height=image.height; } ImgD.alt=image.width+"X"+image.height; } else{ if(image.height>_height){ ImgD.height=_height; ImgD.width=(image.width*_height)/image.height; }else{ ImgD.width=image.width; ImgD.height=image.height; } ImgD.alt=image.width+"X"+image.height; } } } /*Cookie*/ function setCookie(name,value) { var Days = 365; var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days*24*60*60); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } function getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return unescape(arr[2]); else return null; } function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } /*验证数字*/ function isNumber(e){ var number = "1234567890"; for(var i=0; i<e.length; i++){ if (number.indexOf(e.charAt(i))<0) { return false; } } return true; } /*验证数字*/ function isAllDigits(argvalue) { argvalue = argvalue.toString(); var validChars = "0123456789"; var startFrom = 0; if (argvalue.substring(0, 2) == "0x") { validChars = "0123456789abcdefABCDEF"; startFrom = 2; } else if (argvalue.charAt(0) == "0") { validChars = "01234567"; startFrom = 1; } else if (argvalue.charAt(0) == "-") { startFrom = 1; } for (var n = startFrom; n < argvalue.length; n++) { if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false; } return true; } /*检查Email是否合法*/ function isEmail(s){ if (s.length<7||s.length > 50){ return false; } var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$" var re = new RegExp(regu); if (s.search(re) != -1) { return true; } else { return false; } } /*检查字符串是否为Null*/ function isNull(s){ if (s == null || s.length <= 0 || s.trim() == ""){ return true; } return false; } /*检查字符串是否为空*/ function isEmpty(s){ if (s == null || s.length <= 0 || s.trim() == ""){ return true; } return false; } |
|
返回顶楼 | |
发表时间:2008-10-09
/*检查日期是否合法*/
function isValidDate(day, month, year) { if (month < 1 || month > 12) { return false; } if (day < 1 || day > 31) { return false; } if ((month == 4 || month == 6 || month == 9 || month == 11) && (day == 31)) { return false; } if (month == 2) { var leap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day == 29 && !leap)) { return false; } } return true; } /*获得Radio的值*/ function getRadioValue(name){ var radios = document.getElementsByName(name); var i; if (null == radios.length){ if(radios.checked) { return radios.value; } } for(i = 0; i < radios.length; i++){ if(radios[i].checked){ return radios[i].value; } } return 0; } /*设置Radio的值*/ function setRadioValue(name,value){ var radios = document.getElementsByName(name); var i; if (null == radios.length){ if(radios.checked) { radios.checked = "checked"; } } for(i=0;i<radios.length;i++){ if(value == radios[i].value){ radios[i].checked = "checked"; } } return 0; } /*获得CheckBox的值,多个为数组*/ function getCheckBoxValues(name){ var values = new Array(); var cbs = document.getElementsByName(name); var i; if (null == cbs) return values; if (null == cbs.length){ if(cbs.checked) { values[values.length] = cbs.value; } return values; } var count = 0 ; for(i = 0; i<cbs.length; i++){ if(cbs[i].checked){ values[values.length] = cbs[i].value; } } return values; } /*设置CheckBox的值*/ function setCheckBoxValue(name,value){ var cbs = document.getElementsByName(name); var i; if (null == cbs) return 0 ; if (null == cbs.length){ cbs.checked = value; return 0; } for(i=0;i<cbs.length;i++){ cbs[i].checked = value; } return 0; } /*设置CheckBox选中状态*/ function setCheckBoxs(name,value){ var cbs = document.getElementsByName(name); var i; if (null == cbs) return 0 ; if (null == cbs.length){ cbs.checked = true; return 0; } for(i=0;i<cbs.length;i++){ if(cbs[i].value == value){ cbs[i].checked = true; } } return 0; } function htmlEncode(text) { return text.replace(/&/g, '&').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>'); } |
|
返回顶楼 | |
发表时间:2008-10-09
var Request = new Object();
Request.send = function(url, method, callback, data, urlencoded) { var req; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) { req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } req.onreadystatechange = function() { if (req.readyState == 4) { if (req.status < 400) { (method=="POST") ? callback(req) : callback(req,data); } else { } } } if (method=="POST") { req.open("POST", url, true); if (urlencoded) req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); req.send(data); } else { req.open("GET", url, true); req.send(null); } // return req; } Request.sendRawPOST = function(url, data, callback) { Request.send(url, "POST", callback, data, false); } Request.sendPOST = function(url, data, callback) { Request.send(url, "POST", callback, data, true); } Request.sendGET = function(url,callback) { Request.send(url, "GET", callback, null, null); } /*分析status文件的内容*/ function parseResponseStatus(documentElement){ var dataobj = new Object(); //parse status var status = documentElement.getElementsByTagName("status"); if(status && status.length > 0){ if(status[0].firstChild){ dataobj.status = status[0].firstChild.nodeValue; } else{ dataobj.status = ""; } } return dataobj; } //提交form,把得到的数据放在指定的ID上. function ajaxFormRequest(datastr) { eval("var obj = "+datastr+";"); if (obj.id == null) obj.id = "输入自定义id"; disableBtn(); dojo.io.bind({ url: parseUrl(obj.url), useCache: false, preventCache: false, encoding:'UTF-8', load: function(type, data, evt) { $E(obj.id).innerHTML = data; enableBtn(); }, error: function(type, error) { alert("error");}, mimetype: "text/plain", formNode: $E(obj.form) }); } //提交form,执行load方法 function ajaxRequestLoad(datastr) { eval("var obj = "+datastr+";"); if (obj.id == null) obj.id = "输入自定义id"; disableBtn(); dojo.io.bind({ url: parseUrl(obj.url), useCache: false, preventCache: false, encoding:'UTF-8', load: obj.load, error: function(type, error) { alert("error");}, mimetype: "text/plain", formNode: $E(obj.form) }); } |
|
返回顶楼 | |
发表时间:2008-10-09
/*金额标签转换函数*/
function money_convert(name){ var formatName = name + "_format"; var strValue = document.getElementById(formatName).value; strValue=strValue.replace(",",""); var regex = /^(0(\.\d{0,2})?|([1-9]+[0]*)+(\.\d{0,2})?)$/; if(!regex.test(strValue)){ //alert("金额格式不正确!"); document.getElementById(name).value=0; document.getElementById(formatName).value=0; }else{ strValue = Math.round(parseFloat(strValue)*1000+0.001); document.getElementById(name).value=strValue; } } /*金额标签转换函数 * 获得焦点时,去掉金额中的','符号 */ function prepare(obj){ var strValue = obj.value; strValue=strValue.replaceAll(",",""); obj.value = strValue; obj.select(); } String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); } /*日期标签转换函数*/ function setDate(name){ var formatName = "format_" + name; var tempDate = document.getElementById(name).value; var validateDate = dojo.widget.byId(formatName).inputNode.value; var regex = /^[1-9]{1}\d{3}-\d{1,2}-\d{1,2}$/; if(regex.test(validateDate)){ var dateString = validateDate.split("-"); var year = dateString[0]; var month = dateString[1]; var day = dateString[2]; if(testMonth(month)&&testDay(year,month,day)){ document.getElementById(name).value=validateDate; return; } } if(validateDate==""){ tempDate=""; } dojo.widget.byId(formatName).inputNode.value=tempDate; document.getElementById(name).value=tempDate; } function testMonth(month){ if (month < 1 || month > 12) { alert("月份应该为1到12的整数"); return false; } return true; } function testDay(year,month,day){ if (day < 1 || day > 31) { alert("每个月的天数应该为1到31的整数"); return false; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { alert("该月不存在31号"); return false; } if (month==2) { var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0)); if (day>29) { alert("2月最多有29天"); return false; } if ((day==29) && (!isleap)) { alert("闰年2月才有29天"); return false; } } return true; } //比较两个日期是否有效(第一个日期不能在大于第二个日期);第一个日期可以为空,当为空时不进行验证 function compareTwoDate(startDate,endDate,s){ var a=startDate; var b=endDate; if(startDate==""){ return true; } if(((Number(a.substring(0,4))-Number(b.substring(0,4)))*356+ (Number(a.substring(5,7))-Number(b.substring(5,7)))*31+ (Number(a.substring(8,10))-Number(b.substring(8,10))))>0){ alert(s); //startDate.focus(); return false; } return true; } //比较两个日期时间是否有效(第一个日期时间不能在大于第二个日期时间);第一个日期时间可以为空,当为空时不进行验证 function compareTwoDateTime(startDate,endDate,startTime,endTime,s){ var a=startDate; var b=endDate; var at = startTime; var bt = endTime; if(startDate==""){ return true; } if(((Number(a.substring(0,4))-Number(b.substring(0,4)))*356*24*3600+ (Number(a.substring(5,7))-Number(b.substring(5,7)))*31*24*3600+ (Number(a.substring(8,10))-Number(b.substring(8,10)))*24*3600+ (Number(at.substring(0,2))-Number(bt.substring(0,2)))*3600+ (Number(at.substring(3,5))-Number(bt.substring(3,5)))*60+ (Number(at.substring(6))-Number(bt.substring(6)))>0)){ alert(s); return false; //startDate.focus(); } return true; } //验证时间是否合法. function testTime(time){ var regex = /^[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/; if(!regex.test(time)){ alert("您输入的时间格式不正确!"); return false; } var hour = time.substring(0,2); var minute = time.substring(3,5); var second = time.substring(6); if(hour>23 || hour <0){ alert("小时的值应该在0-23之间!"); return false; } if(minute > 60 ||minute < 0){ alert("分钟的值应该在0-59之间!"); return false; } if(second > 60 ||second < 0){ alert("秒钟的值应该在0-59之间!"); return false; } return true; } String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } function sendmoneycheck(path,orderSeqid) { var password = document.getElementById('password').value; if(document.getElementById('password').value==null || document.getElementById('password').value=='') { alert('取款密码必须输入'); } else { var url = path+'/sendmoney/managerecconfirmsendmoney.htm?orderSeqid='+orderSeqid+'&passwd='+document.getElementById('password').value; ajaxFormRequest('{url:"'+url+'",id:"paginationResult"}'); $E('buttonconfirm').disabled=true; } } function isUrlValidate(url){ var regx = /^(\s)*(http(s)?:\/\/)?([\w-]+\.)+[\w-]+(:(\d{1,4}))?(\/[\w-.\/?%&=]*)?(\s)*$/; return regx.test(url); } function isDateValidate(strDate){ var regx = /^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/; return regx.test(strDate); } function isEmailValidate(email){ var regx = /^(\s)*([\w]+([-_.][\w]+)*@[\w]+([.][\w]+)*\.[\w]+([.][\w]+)*)(\s)*$/; return regx.test(email); } function isPhoneValidate(tel){ var regx = /^(\s)*((1[35]\d{9})|((0\d{2,3}\-){1}[1-9]{1}\d{6,7}(\-\d{1,4})?))(\s)*$/; return regx.test(tel); } function isMobileValidate(tel){ var regx = /^(\s)*(1[35]\d{9})(\s)*$/; return regx.test(tel); } function dateCompare(date1, date2){ date1 = date1.replace(/-/g, "/"); date2 = date2.replace(/-/g, "/"); try{ return Date.parse(date1) - Date.parse(date2); } catch(e){ return 0; } } function respond(obj){ if(window.event.keyCode==13){ obj.onblur(); } } function parseUrl(url){ var uniqueKey = new Date(); if(url != null && url.indexOf("?") > 0){ url += "&uniqueKey=" + uniqueKey; } else{ url += "?uniqueKey=" + uniqueKey; } return url; } function disableBtn(){ var oBtns = document.getElementsByName("BTN_QRY"); if(oBtns != null && oBtns.length > 0){ for(var i=0; i<oBtns.length; i++){ oBtns[i].disabled = true; } } } function enableBtn(){ var oBtns = document.getElementsByName("BTN_QRY"); if(oBtns != null && oBtns.length > 0){ for(var i=0; i<oBtns.length; i++){ oBtns[i].disabled = false; } } } |
|
返回顶楼 | |
发表时间:2009-03-07
都是你自己写的吗?的确挺实用的。
|
|
返回顶楼 | |