浏览 1187 次
锁定老帖子 主题:js 验证函数1
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-15
<script type=text/javascript" > //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } //校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; if (!patrn.exec(s)) return false return true } //校验密码:只能输入6-20个字母、数字、下划线 function isPasswd(s) { var patrn=/^(\w){6,20}$/; if (!patrn.exec(s)) return false return true } //校验手机号码:必须以数字开头,除数字外,可含有“-” function isMobil(s) { var patrn=/^([0-9]{11,13})?$/; if (!patrn.exec(s)) return false return true } function isEmail(src) { return (isEmail1.test(src) && isEmail2.test(src)); } isEmail1 = /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/; isEmail2 = /^.*@[^_]*$/; function onlychinese() { if ((window.event.keyCode >=32) && (window.event.keyCode <= 126)) { window.event.keyCode = 0 ; } } /* ================================================================== LTrim(string):去除左边的空格 ================================================================== */ function LTrim(str) { var whitespace = new String(" \t\n\r"); var s = new String(str); if (whitespace.indexOf(s.charAt(0)) != -1) { var j=0, i = s.length; while (j < i && whitespace.indexOf(s.charAt(j)) != -1) { j++; } s = s.substring(j, i); } return s; } /* ================================================================== RTrim(string):去除右边的空格 ================================================================== */ function RTrim(str) { var whitespace = new String(" \t\n\r"); var s = new String(str); if (whitespace.indexOf(s.charAt(s.length-1)) != -1) { var i = s.length - 1; while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) { i--; } s = s.substring(0, i+1); } return s; } /* ================================================================== Trim(string):去除前后空格 ================================================================== */ function Trim(str) { return RTrim(LTrim(str)); } /* ================================================================================ XMLEncode(string):对字符串进行XML编码 ================================================================================ */ function XMLEncode(str) { str=Trim(str); str=str.replace("&","&"); str=str.replace("<","<"); str=str.replace(">",">"); str=str.replace("'","'"); str=str.replace("\"","""); return str; } /* ================================================================================ 验证类函数 ================================================================================ */ function IsEmpty(obj) { obj=document.getElementsByName(obj).item(0); if(Trim(obj.value)=="") { alert("字段不能为空。"); if(obj.disabled==false && obj.readOnly==false) { obj.focus(); } } } /* IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0) 功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0 */ function IsInt(objStr,sign,zero) { var reg; var bolzero; if(Trim(objStr)=="") { return false; } else { objStr=objStr.toString(); } if((sign==null)||(Trim(sign)=="")) { sign="+-"; } if((zero==null)||(Trim(zero)=="")) { bolzero=false; } else { zero=zero.toString(); if(zero=="0") { bolzero=true; } else { alert("检查是否包含0参数,只可为(空、0)"); } } switch(sign) { case "+-": //整数 reg=/(^-?|^\+?)\d+$/; break; case "+": if(!bolzero) { //正整数 reg=/^\+?[0-9]*[1-9][0-9]*$/; } else { //正整数+0 //reg=/^\+?\d+$/; reg=/^\+?[0-9]*[0-9][0-9]*$/; } break; case "-": if(!bolzero) { //负整数 reg=/^-[0-9]*[1-9][0-9]*$/; } else { //负整数+0 //reg=/^-\d+$/; reg=/^-[0-9]*[0-9][0-9]*$/; } break; default: alert("检查符号参数,只可为(空、+、-)"); return false; break; } var r=objStr.match(reg); if(r==null) { return false; } else { return true; } } /* IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0) 功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0 */ function IsFloat(objStr,sign,zero) { var reg; var bolzero; if(Trim(objStr)=="") { return false; } else { objStr=objStr.toString(); } if((sign==null)||(Trim(sign)=="")) { sign="+-"; } if((zero==null)||(Trim(zero)=="")) { bolzero=false; } else { zero=zero.toString(); if(zero=="0") { bolzero=true; } else { alert("检查是否包含0参数,只可为(空、0)"); } } switch(sign) { case "+-": //浮点数 reg=/^((-?|\+?)\d+)(\.\d+)?$/; break; case "+": if(!bolzero) { //正浮点数 reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/; } else { //正浮点数+0 reg=/^\+?\d+(\.\d+)?$/; } break; case "-": if(!bolzero) { //负浮点数 reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/; } else { //负浮点数+0 reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/; } break; default: alert("检查符号参数,只可为(空、+、-)"); return false; break; } var r=objStr.match(reg); if(r==null) { return false; } else { return true; } } /* IsEnLetter(string,string):测试字符串,大小写(UL,U,L or ul,u,l) */ function IsEnLetter(objStr,size) { var reg; if(Trim(objStr)=="") { return false; } else { objStr=objStr.toString(); } if((size==null)||(Trim(size)=="")) { size="UL"; } else { size=size.toUpperCase(); } switch(size) { case "UL": //大小写 reg=/^[A-Za-z]+$/; break; case "U": //大写 reg=/^[A-Z]+$/; break; case "L": //小写 reg=/^[a-z]+$/; break; default: alert("检查大小写参数,只可为(空、UL、U、L)"); return false; break; } var r=objStr.match(reg); if(r==null) { return false; } else { return true; } } /* ================================================================================ 功能:鼠标小提示 作者:申旺 日期:2004/04/15 ================================================================================ */ //定义变量、设置默认值 var LabelFontFace="宋体,arial,Verdana"; var LabelFontColor="#000000"; var LabelFontSize="9pt"; var LabelFontStyle="Font.PLAIN"; var LabelBorderColor="#000000"; var LabelBackColor="#FFFFE1"; //设置各个属性 function SetLabelFontFace(obj) { obj=Trim(obj); if(obj==null || obj=="") { obj="宋体,arial,Verdana"; } LabelFontFace=obj; } function SetLabelFontColor(obj) { obj=Trim(obj); if(obj==null || obj=="") { obj="#000000"; } LabelFontColor=obj; } function SetLabelFontSize(obj) { obj=Trim(obj); if(obj==null || obj=="") { obj="9pt"; } LabelFontSize=obj; } function SetLabelFontStyle(obj) { obj=Trim(obj); if(obj==null || obj=="") { obj="Font.PLAIN"; } LabelFontStyle=obj; } function SetLabelBorderColor(obj) { obj=Trim(obj); if(obj==null || obj=="") { obj="#000000"; } LabelBorderColor=obj; } function SetLabelBackColor(obj) { obj=Trim(obj); if(obj==null || obj=="") { obj="#FFFFE1"; } LabelBackColor=obj; } //合成文字样式 function SetTextStyle(str) { var strRet=""; var strStyle=""; strStyle="font-family:"+LabelFontFace+";"; strStyle+="color:"+LabelFontColor+";"; strStyle+="font-size:"+LabelFontSize+";"; switch(LabelFontStyle.toLowerCase()) { case "font.plain": strStyle+="font-weight: normal;"; strStyle+="font-style: normal;"; break; case "font.bold": strStyle+="font-weight: bold;"; strStyle+="font-style: normal;"; break; case "font.italic": strStyle+="font-weight: normal;"; strStyle+="font-style: italic;"; break; case "font.italicbold": case "font.bolditalic": strStyle+="font-weight: bold;"; strStyle+="font-style: italic;"; break; default: strStyle+="font-weight: bold;"; strStyle+="font-style: italic;"; break; } strRet="<font style='"+strStyle+"'>"; strRet+=" "+str+" "; strRet+="</font>"; return strRet; } //合成表格样式 function SetTableStyle() { var strRet=""; strRet+="border-right: "+LabelBorderColor+" 1px solid;"; strRet+="border-top: "+LabelBorderColor+" 1px solid;"; strRet+="border-left: "+LabelBorderColor+" 1px solid;"; strRet+="border-bottom: "+LabelBorderColor+" 1px solid;"; strRet+="background-color:"+LabelBackColor; return strRet; } //显示提示 function ShowNote(str) { var strHtml; strHtml=""; strHtml+="<table height=1px width=1px border='0'cellspacing='0' cellpadding='0' style='" + SetTableStyle() + "'>"; strHtml+="<tr>"; strHtml+="<td>"+SetTextStyle(str)+"</td>"; strHtml+="</tr>"; strHtml+="</table>"; if (document.all&&document.readyState=="complete") { document.all.div_Note.innerHTML=strHtml; document.all.div_Note.style.pixelLeft=event.clientX+document.body.scrollLeft+10 document.all.div_Note.style.pixelTop=event.clientY+document.body.scrollTop+10 document.all.div_Note.style.visibility="visible" } } //隐藏提示 function HideNote() { if (document.all) { document.all.div_Note.style.visibility="hidden"; } else { if (document.layers) { clearInterval(currentscroll) document.div_Note.visibility="hidden"; } } } //初始化 function Init() { window.document.write("<div id=\"div_Note\" style=\"VISIBILITY:hidden; POSITION:absolute; HEIGHT:13px;z-index:1\"></div>"); } Init(); //生成提示字符 function ShowLabel(text,note,bclick) { if(bclick!=null) { return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\" onClick=\"JavaScript:DoSomeThing(this);\">" + text + "</a>"; } else { return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\">" + text + "</a>"; } } /* $ 获取指定对象 @element 对象名 可以使用对象名集合,返回值为对象的集合 如果您使用了 Prototype 类库, 请把该函数注释掉 Sams_object.Get() 中同样实现该函数的所有功能 */ function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i])); return elements; } if (typeof element == 'string') element = document.getElementById(element); return element; } /// 浏览器相关操作 var Sams_browse = { /* 检测浏览信息 */ checkBrowser : function () { this.ver=navigator.appVersion this.dom=document.getElementById?1:0 this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0; this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; this.ie4=(document.all && !this.dom)?1:0; this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.mac=(this.ver.indexOf('Mac') > -1) ?1:0; this.ope=(navigator.userAgent.indexOf('Opera')>-1); this.ie=(this.ie6 || this.ie5 || this.ie4) this.ns=(this.ns4 || this.ns5) this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope) this.nbw=(!this.bw) return this; }, /* 设为首页 @url 要设为首页的地址 */ SetDefault : function () { this.style.behavior='url(#default#homepage)'; this.setHomePage(this.GetUrl()); return false; }, /* 复制指定URL地址 @Msg 要写入剪贴板的字符集 */ SetCopy : function (Msg){ if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) { clipboardData.setData('Text',Msg); alert ("网址“"+Msg+"”\n已经复制到您的剪贴板中\n您可以使用Ctrl+V快捷键粘贴到需要的地方"); } else { prompt("请复制网站地址:",Msg); } }, /* 加入收藏 @site 站点名称 @url 地址 */ AddBookmark : function (site, url){ if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) { window.external.addFavorite(url,site) } else if (navigator.userAgent.toLowerCase().indexOf('opera') > -1) { alert ("请使用Ctrl+T将本页加入收藏夹"); } else { alert ("请使用Ctrl+D将本页加入收藏夹"); } }, /* 打开Url指定宽度和高度的窗口 */ OpenWindows : function (url,width,height) { window.open(url,'newwin','width='+width+',height='+height); return false; }, /* 禁止浏览器的Javascript错误提示 */ CloseError : function(){ window.onerror = function(){return true;}; }, /* 获取浏览器URL */ GetUrl : function(){ return location.href; }, /* 获取URL参数 */ GetUrlParam : function(){ return location.search; }, /* 获取页面来源 */ GetFrom : function(){ return document.referrer; }, /* 获取指定的URL参数值 @name 参数名 */ Request : function(name){ var GetUrl = this.GetUrl(); var Plist = new Array(); if(GetUrl.indexOf('?') > 0) { Plist = GetUrl.split('?')[1].split('&'); } else if(GetUrl.indexOf('#') > 0) { Plist = GetUrl.split('#')[1].split('&'); } if (GetUrl.length > 0) { for(var i=0; i<Plist.length; i++) { var GetValue = Plist[i].split('='); if (GetValue[0].toUpperCase() == name.toUpperCase()) { return GetValue[1]; break; } } return; } }, /* 直接将HTML写到新窗口 @title 标题 @msg 内容 */ Popmsg : function PopIt(title,msg) { var popup = window.open('','popDialog','height=500,width=400,scrollbars=yes'); popup.document.write('<html><title>'+title+'</title><style>body{margin:10px;font:13px Arial;}span{text-line:20px;}</style><body><span style=\'font:14px arial;\'>'+msg + '</span></body></html>'); popup.document.close(); } }; /// 对象操作 var Sams_object = { /* 创建一个DIV对象 @ID 要创建的对象ID @ClassName 创建对象的Class @SetValue 设置该对象值 @ToDiv 将对象追加到指定的对象,如指定的对象不存在,则追加在Body的后面 返回 创建后的对象 */ CreateDiv : function (ID,ClassName,SetValue,ToDiv){ var creatediv = document.createElement('div'); if(ID != null) creatediv.id = ID; creatediv.style.position = 'absolute'; if(ClassName != null) creatediv.className = ClassName; if(this.Get(ToDiv)) { this.Get(ToDiv).appendChild(creatediv); } else { document.getElementsByTagName('body')[0].appendChild(creatediv); } this.SetValue(ID,SetValue); return this.Get(ID); }, 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |