【JavaScript】JavaScript函数(mySelf)
来源:互联网 发布:淘宝店铺怎样上传图片 编辑:程序博客网 时间:2024/05/24 07:06
------------------------------------------- JavaScript ----------------------------------1、保留小数点后2位的函数function found(num){ // Math.round(num) 将一个数字舍入到最接近的整数,但是不能保留小数位return Math.round(num * 100) / 100 ;} 2、生成1 - 指定参数的随机数函数 function rand(num){//Math.random() 随机生成一个 0 - 1 之间的小数,无法返回指定范围的随机数字 retrun Math.floor(Math.random() * num) + 1; } -------------- 函数检索 --------------trim函数: trim() lTrim() rTrim()校验字符串是否为空: checkIsNotEmpty(str)校验字符串是否为整型: checkIsInteger(str)校验整型最小值: checkIntegerMinValue(str,val)校验整型最大值: checkIntegerMaxValue(str,val) 校验整型是否为非负数: isNotNegativeInteger(str)校验字符串是否为浮点型: checkIsDouble(str) 校验浮点型最小值: checkDoubleMinValue(str,val)校验浮点型最大值: checkDoubleMaxValue(str,val)校验浮点型是否为非负数: isNotNegativeDouble(str)校验字符串是否为日期型: checkIsValidDate(str)校验两个日期的先后: checkDateEarlier(strStart,strEnd)校验字符串是否为email型: checkEmail(str)校验字符串是否为中文: checkIsChinese(str)计算字符串的长度,一个汉字两个字符: realLength()校验字符串是否符合自定义正则表达式: checkMask(str,pat)得到文件的后缀名: getFilePostfix(oFile) -------------- 函数检索 --------------/*** added by LxcJie 2004.6.25* 去除多余空格函数* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格* 用法:* var str = " hello ";* str = str.trim();*/String.prototype.trim = function(){ return this.replace(/(^[\s]*)|([\s]*$)/g, "");}String.prototype.lTrim = function(){ return this.replace(/(^[\s]*)/g, "");}String.prototype.rTrim = function(){ return this.replace(/([\s]*$)/g, "");}/********************************** Empty **************************************//***校验字符串是否为空*返回值:*如果不为空,定义校验通过,返回true*如果为空,校验不通过,返回false 参考提示信息:输入域不能为空!*/function checkIsNotEmpty(str){ if(str.trim() == "") return false; else return true;}//~~~/*--------------------------------- Empty --------------------------------------*//********************************** Integer *************************************//***校验字符串是否为整型*返回值:*如果为空,定义校验通过, 返回true*如果字串全部为数字,校验通过,返回true*如果校验不通过, 返回false 参考提示信息:输入域必须为数字!*/function checkIsInteger(str){ //如果为空,则通过校验 if(str == "") return true; if(/^(\-?)(\d+)$/.test(str)) return true; else return false;}//~~~/***校验整型最小值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,大于等于给定值,校验通过,返回true*如果小于给定值, 返回false 参考提示信息:输入域不能小于给定值!*/function checkIntegerMinValue(str,val){ //如果为空,则通过校验 if(str == "") return true; if(typeof(val) != "string") val = val + ""; if(checkIsInteger(str) == true) { if(parseInt(str,10)>=parseInt(val,10)) return true; else return false; } else return false;}//~~~/***校验整型最大值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,小于等于给定值,校验通过,返回true*如果大于给定值, 返回false 参考提示信息:输入值不能大于给定值!*/function checkIntegerMaxValue(str,val){ //如果为空,则通过校验 if(str == "") return true; if(typeof(val) != "string") val = val + ""; if(checkIsInteger(str) == true) { if(parseInt(str,10)<=parseInt(val,10)) return true; else return false; } else return false;}//~~~/***校验整型是否为非负数*str:要校验的串。**返回值:*如果为空,定义校验通过,返回true*如果非负数, 返回true*如果是负数, 返回false 参考提示信息:输入值不能是负数!*/function isNotNegativeInteger(str){ //如果为空,则通过校验 if(str == "") return true; if(checkIsInteger(str) == true) { if(parseInt(str,10) < 0) return false; else return true; } else return false;}//~~~/*--------------------------------- Integer --------------------------------------*//********************************** Double ****************************************//***校验字符串是否为浮点型*返回值:*如果为空,定义校验通过, 返回true*如果字串为浮点型,校验通过, 返回true*如果校验不通过, 返回false 参考提示信息:输入域不是合法的浮点数!*/function checkIsDouble(str){ //如果为空,则通过校验 if(str == "") return true; //如果是整数,则校验整数的有效性 if(str.indexOf(".") == -1) { if(checkIsInteger(str) == true) return true; else return false; } else { if(/^(\-?)(\d+)(.{1})(\d+)$/g.test(str)) return true; else return false; }}//~~~/***校验浮点型最小值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,大于等于给定值,校验通过,返回true*如果小于给定值, 返回false 参考提示信息:输入域不能小于给定值!*/function checkDoubleMinValue(str,val){ //如果为空,则通过校验 if(str == "") return true; if(typeof(val) != "string") val = val + ""; if(checkIsDouble(str) == true) { if(parseFloat(str)>=parseFloat(val)) return true; else return false; } else return false;}//~~~/***校验浮点型最大值*str:要校验的串。 val:比较的值**返回值:*如果为空,定义校验通过, 返回true*如果满足条件,小于等于给定值,校验通过,返回true*如果大于给定值, 返回false 参考提示信息:输入值不能大于给定值!*/function checkDoubleMaxValue(str,val){ //如果为空,则通过校验 if(str == "") return true; if(typeof(val) != "string") val = val + ""; if(checkIsDouble(str) == true) { if(parseFloat(str)<=parseFloat(val)) return true; else return false; } else return false;}//~~~/***校验浮点型是否为非负数*str:要校验的串。**返回值:*如果为空,定义校验通过,返回true*如果非负数, 返回true*如果是负数, 返回false 参考提示信息:输入值不能是负数!*/function isNotNegativeDouble(str){ //如果为空,则通过校验 if(str == "") return true; if(checkIsDouble(str) == true) { if(parseFloat(str) < 0) return false; else return true; } else return false;}//~~~/*--------------------------------- Double ---------------------------------------*//********************************** date ******************************************//***校验字符串是否为日期型*返回值:*如果为空,定义校验通过, 返回true*如果字串为日期型,校验通过, 返回true*如果日期不合法, 返回false 参考提示信息:输入域的时间不合法!(yyyy-MM-dd)*/function checkIsValidDate(str){ //如果为空,则通过校验 if(str == "") return true; var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g; if(!pattern.test(str)) return false; var arrDate = str.split("-"); if(parseInt(arrDate[0],10) < 100) arrDate[0] = 2000 + parseInt(arrDate[0],10) + ""; var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]); if(date.getYear() == arrDate[0] && date.getMonth() == (parseInt(arrDate[1],10) -1)+"" && date.getDate() == arrDate[2]) return true; else return false;}//~~~/***校验两个日期的先后*返回值:*如果其中有一个日期为空,校验通过, 返回true*如果起始日期早于等于终止日期,校验通过, 返回true*如果起始日期晚于终止日期, 返回false 参考提示信息: 起始日期不能晚于结束日期。*/function checkDateEarlier(strStart,strEnd){ if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false) return false; //如果有一个输入为空,则通过检验 if (( strStart == "" ) || ( strEnd == "" )) return true; var arr1 = strStart.split("-"); var arr2 = strEnd.split("-"); var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]); var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]); if(arr1[1].length == 1) arr1[1] = "0" + arr1[1]; if(arr1[2].length == 1) arr1[2] = "0" + arr1[2]; if(arr2[1].length == 1) arr2[1] = "0" + arr2[1]; if(arr2[2].length == 1) arr2[2]="0" + arr2[2]; var d1 = arr1[0] + arr1[1] + arr1[2]; var d2 = arr2[0] + arr2[1] + arr2[2]; if(parseInt(d1,10) > parseInt(d2,10)) return false; else return true;}//~~~/*--------------------------------- date -----------------------------------------*//********************************** email *****************************************//***校验字符串是否为email型*返回值:*如果为空,定义校验通过, 返回true*如果字串为email型,校验通过, 返回true*如果email不合法, 返回false 参考提示信息:Email的格式不正確!*/function checkEmail(str){ //如果为空,则通过校验 if(str == "") return true; if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf('@', 0) == -1 || str.indexOf('.', 0) == -1 || str.lastIndexOf("@") == str.length-1 || str.lastIndexOf(".") == str.length-1) return false; else return true;}//~~~/*--------------------------------- email ----------------------------------------*//********************************** chinese ***************************************//***校验字符串是否为中文*返回值:*如果为空,定义校验通过, 返回true*如果字串为中文,校验通过, 返回true*如果字串为非中文, 返回false 参考提示信息:必须为中文!*/function checkIsChinese(str){ //如果值为空,通过校验 if (str == "") return true; var pattern = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi; if (pattern.test(str)) return true; else return false;}//~~~/*** 计算字符串的长度,一个汉字两个字符*/String.prototype.realLength = function(){ return this.replace(/[^\x00-\xff]/g,"**").length;}/*--------------------------------- chinese --------------------------------------*//********************************** mask ***************************************//***校验字符串是否符合自定义正则表达式*str 要校验的字串 pat 自定义的正则表达式*返回值:*如果为空,定义校验通过, 返回true*如果字串符合,校验通过, 返回true*如果字串不符合, 返回false 参考提示信息:必须满足***模式*/function checkMask(str,pat){ //如果值为空,通过校验 if (str == "") return true; var pattern = new RegExp(pat,"gi") if (pattern.test(str)) return true; else return false;}//~~~/*--------------------------------- mask --------------------------------------*//********************************** file ***************************************//*** added by LxcJie 2004.6.25* 得到文件的后缀名* oFile为file控件对象*/function getFilePostfix(oFile){ if(oFile == null) return null; var pattern = /(.*)\.(.*)$/gi; if(typeof(oFile) == "object") { if(oFile.value == null || oFile.value == "") return null; var arr = pattern.exec(oFile.value); return RegExp.$2; } else if(typeof(oFile) == "string") { var arr = pattern.exec(oFile); return RegExp.$2; } else return null;}//~~~/*--------------------------------- file --------------------------------------*/http://www.51windows.net/myjs/window.close关闭窗口,如何可以不弹出系统提示,直接关闭 private void btnClose_Click(object sender, System.EventArgs e) { Response.Write("<script language=javascript>window.opener=null;window.close() ;</script>"); }如果是通过子窗体关闭父窗体时怎么做呢, 子窗体(弹出窗体): Response.Write("<script>window.opener.top.opener=null;window.opener.top.close()</script>") JavaScript在ASP中实现掩码文本框 来源:潇潇雨吧 时间:2004-12-3 13:22:38 点击: 票数:41 点击:488 在网页中输日期、时间、IP地址等需要一定的格式限制,否则将会程序将会很难和程序沟通。 最近在做一个程序正好需要用到此方面,在网上找到过相应的程序,但用起来都非常恶,于是乎只好自己实现一个了。 首先实现两个函数用来操作光标: // 得到一个文本框控件的当前光标位置 function getPos(obj) { obj.focus(); var workRange=document.selection.createRange(); obj.select(); var allRange=document.selection.createRange(); workRange.setEndPoint("StartToStart",allRange); var len=workRange.text.length; workRange.collapse(false); workRange.select(); return len; } // 设置一个文本框控件的当前光标位置 function setCursor(obj,num){ range=obj.createTextRange(); range.collapse(true); range.moveStart('character',num); range.select(); } 主要函数实现的主要思想是当键盘按下时进行一些操作,我设计在OnKeyDown事件中。 在OnKeyDown中,首先将系统默认的键盘处理屏蔽掉 // 封住传统处理 window.event.returnValue = false; 然后处理相应需要处理的键盘消息。 这里随便处理几个必要的就可以了,因为文本框本身也不需要什么太多的用户操作,所以把光标的前移、后移、删除操作进行处理,这样你的文本框就有了基本的操作,现在操作起来已经很顺手了。 // 自行处理按钮 switch (nKeyCode) { case 8:// 如果动作是退格[<-] { strText = strText.substr(0,nCursorPos-1) + strText.substr(nCursorPos, nTextLen-nCursorPos); nCursorPos--; break; } case 46:// 如果动作是del[del] { strText = strText.substr(0,nCursorPos) + strText.substr(nCursorPos+1,nTextLen-nCursorPos-1); nCursorPos--; break; } case 38:// 如果动作是方向键[上] case 39:// 如果动作是方向键[右] { nCursorPos++; break; } case 37:// 如果动作是方向键[左] case 40:// 如果动作是方向键[下] { nCursorPos--; break; } default : { strText = strText.substr(0,nCursorPos) + String.fromCharCode(nKeyCode) + strText.substr(nCursorPos,nTextLen); nCursorPos++; if (nCursorPos>strText.length) { nCursorPos=strText.length; } break; } } 其它的任何消息都当添加一个字符,可见不可见的字符,都将添加并光标往后走一下。见上方的default 处理部份。 然后判断掩码是否正确,如果正确,那么此次输入合法,将值显示添加到文本框中。 if (strText.match(expMask)) { // 输入格式正确 objTextBox.value = strText; } 最后将光标移到适当的位置。 // 移动光标 setCursor(objTextBox,nCursorPos); 完成! 其主要就是把系统的键盘消息替换成自己的处理,屏蔽掉系统的,这样就可以获得最大的操控。 如此就完成了一个对指定的正则表达式进行格式限制的TEXTBOX就诞生了。 附完整代码: // 根据指定正表达式,来控制OBJ表示 function mask(objTextBox,mask) { // 掩码 expMask = new RegExp(mask); // 当前文本框中的文本 var strText =objTextBox.value; // 文本长度 var nTextLen=strText.length; // 当前光标位置 var nCursorPos=getPos(objTextBox); // 按下的键码 var nKeyCode = window.event.keyCode; if (nKeyCode > 95) nKeyCode -= (95-47); // 封住传统处理 window.event.returnValue = false; // 自行处理按钮 switch (nKeyCode) { case 8:// 如果动作是退格[<-] { strText = strText.substr(0,nCursorPos-1) + strText.substr(nCursorPos, nTextLen-nCursorPos); nCursorPos--; break; } case 46:// 如果动作是del[del] { strText = strText.substr(0,nCursorPos) + strText.substr(nCursorPos+1,nTextLen-nCursorPos-1); nCursorPos--; break; } case 38:// 如果动作是方向键[上] case 39:// 如果动作是方向键[右] { nCursorPos++; break; } case 37:// 如果动作是方向键[左] case 40:// 如果动作是方向键[下] { nCursorPos--; break; } default : { strText = strText.substr(0,nCursorPos) + String.fromCharCode(nKeyCode) + strText.substr(nCursorPos,nTextLen); nCursorPos++; if (nCursorPos>strText.length) { nCursorPos=strText.length; } break; } } if (strText.match(expMask)) { // 输入格式正确 objTextBox.value = strText; } // 移动光标 setCursor(objTextBox,nCursorPos); } // 得到一个文本框控件的当前光标位置 function getPos(obj) { obj.focus(); var workRange=document.selection.createRange(); obj.select(); var allRange=document.selection.createRange(); workRange.setEndPoint("StartToStart",allRange); var len=workRange.text.length; workRange.collapse(false); workRange.select(); return len; } // 设置一个文本框控件的当前光标位置 function setCursor(obj,num){ range=obj.createTextRange(); range.collapse(true); range.moveStart('character',num); range.select(); } 使用方法: 1.设置默认的、不定的格式初值。如:日期时间的格式初值为“// ::”,表示(年/月/日 时:分:秒)。IP的为“...”(192.168.0.1)。其实就是设置一个不会违反正则表达式的字符就可以。 2.在表单的TEXT框的OnKeyDown事件中调用mask函数,参数objTextBox是指定的文本框的name。参数mask是正则表达式格式的掩码。 例子: 要使用日期时间型的掩码框 <input name="i_etmend" type="text" id="i_etmend" value="{I_ETMEND}" maxlength="19" onkeydown="mask(i_etmend, '^(([0-9]{0,4})\-([0-9]{0,2})\-([0-9]{0,2}) ([0-9]{0,2}):([0-9]{0,2}):([0-9]{0,2}))
)"> 要使用IP掩码框
- 【JavaScript】JavaScript函数(mySelf)
- JavaScript 日期函数 - JavaScript
- javascript 时间函数javascript
- 【JavaScript】JavaScript基础-函数
- 【javascript总结】javascript函数
- javascript函数
- Javascript函数
- Javascript函数
- javascript函数
- javascript函数
- javascript函数
- JavaScript函数
- JavaScript 函数
- JavaScript 函数
- JavaScript函数
- javascript函数
- javascript函数
- javascript函数
- UITableView +下拉刷新(Pull-refresh)
- 【JavaScript】Cookie
- 【JavaScript】for循环得出多个span的值
- 【JavaScript】getOs()获取浏览器
- 【JavaScript】GridView
- 【JavaScript】JavaScript函数(mySelf)
- 【JavaScript】javascript事件列表解说
- 【JavaScript】onload
- 《人月神话》笔记:画蛇添足
- 【JavaScript】onload图片大小设置
- 软考结束总结
- 【JavaScript】PageReload刷新(包括回发了,参考)
- qt如何实现一个图片选择操作
- 【JavaScript】弹出设置窗口