一些常用的JS函数

 

<SCRIPT language="javascript">
/************************************************************/
//使checkbox全部选中
 function selectAll(this.checked)
 {
  var arr = document.getElementsByName("selectedItemId");
  for(var i=0;i<arr.length;i++)
  {
   if(arr[i].disabled==false)
   {
    arr[i].checked=v;
   }
  }
 }
/****************************************************************/
//实现字符去除空格 
 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;
 }
 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;
 }
 function Trim(str)
 {
     return RTrim(LTrim(str));
 }
/***********************************************************************/
//检测是否含有特殊字符
 function checkSpecialChar(str)
 {
  var i= 0;
  for(i=0;i<str.length;i++)
  {
   if(str.charAt(i) == '<')
   {
    alert("不允许输入<符号!");
    return false;
   }
   if(str.charAt(i) == '>')
   {
    alert("不允许输入>符号!");
    return false;
   }
   if(str.charAt(i) == '/')
   {
    alert("不允许输入/符号!");
    return false;
   }
   if(str.charAt(i) == '//')
   {
    alert("不允许输入//符号!");
    return false;
   }
   if(str.charAt(i) == '/"')
   {
    alert("不允许输入/"符号!");
    return false;
   }
   if(str.charAt(i) == ',')
   {
    alert("不允许输入,符号!");
    return false;
   }
   if(str.charAt(i) == "'")
   {
    alert("不允许输入单引号!");
    return false;
   }
  }
  return true;
 }
/********************************************************************************/
//下拉日期
//index.html
<script language="javascript" >
if (!document.getElementById("CalFrame"))
 document.write('<iframe id=CalFrame name=CalFrame frameborder=0 src=calendar_admin.htm style=display:none;position:absolute;z-index:100></iframe>');
document.οnclick=hideCalendar;

function showCalendar(sFld,days)
{
 var cf=document.getElementById("CalFrame");
 var wcf=window.frames.CalFrame;
 var fld=document.getElementById(sFld);
 if(!wcf.bCalLoaded){alert("日历未成功装载!请刷新页面!");return;}
 if(cf.style.display!="none"){cf.style.display="none";return;}
 var eT=0,eL=0,p=fld;
 var sT=document.body.scrollTop,sL=document.body.scrollLeft;
 var eH=fld.offsetHeight,eW=fld.offsetWidth;
 while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
 cf.style.top=(document.body.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH+1:eT-cf.height;
 cf.style.left=(document.body.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width;
 cf.style.display="block";
 wcf.fld=fld;
 wcf.initCalendar(days);
}
function hideCalendar()
{
 var cf=document.getElementById("CalFrame");
 cf.style.display="none";
}
</script>
<body>
<table>
<TR>
  <TD>出发日期:</TD>
  <TD><input type=text must='true' value=""  title="出发日期" name="runDate" id="runDate" readOnly οnclick="event.cancelBubble=true;showCalendar('runDate','5')"> <font class="red_text">*</font><!--(可以选择购买次日起三天的车票)--></TD>
 </TR>
</table>
<body>
//<!---------------------------------->
//calendar_admin.htm------------------------------------------>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type=text/css>
body{cursor:default}
td{font-size:12;font-family:arial;text-align:center}
td.dt{font-size:11;font-family:arial;text-align:center}
a{color:blue}
a:hover{color:red}
a.bt{color:#888888}
</style>
<script language=javascript>
<!--//
var str='',i,j,yy,mm,maxdays;
var wp=window.parent;
var cf=wp.document.getElementById("CalFrame");
var fld,curday,today=new Date();
today.setHours(0);today.setMinutes(0);today.setSeconds(0);today.setMilliseconds(0);
function parseDate(s)
{
 var reg=new RegExp("[^0-9-]","")
 if(s.search(reg)>=0)return today;
 var ss=s.split("-");
 if(ss.length!=3)return today;
 if(isNaN(ss[0])||isNaN(ss[1])||isNaN(ss[2]))return today;
 return new Date(parseFloat(ss[0]),parseFloat(ss[1])-1,parseFloat(ss[2]));
}
function resizeCalendar(){cf.width=144;cf.height=192;}
function initCalendar(maxDays)
{
 maxdays=maxDays;
 if(fld&&fld.value.length>0){curday=parseDate(fld.value);}
 else curday=today;
 drawCalendar(curday.getFullYear(),curday.getMonth());
}
function drawCalendar(y,m)
{
 var x=new Date(y,m,1),mv=x.getDay(),d=x.getDate(),de;
 yy=x.getFullYear();mm=x.getMonth();
 document.getElementById("yyyymm").innerHTML=yy+"年"+(mm+1>9?mm+1:"0"+(mm+1))+"月";
 for(var i=1;i<=mv;i++)
 {
  de=document.getElementById("d"+i);
  de.innerHTML="";
  de.bgColor="";
 }
 var t1=curday.getTime();
 var t2=today.getTime();
 while(x.getMonth()==mm)
 {
  de=document.getElementById("d"+(d+mv));
  de.innerText=d;
  var t3=x.getTime();
  var des=de.style;if(t3==t2)
  {
   /*des.fontWeight="normal";
   des.color="OrangeRed";*/
   des.color="OrangeRed";
   des.fontWeight="bold";
   des.cursor="hand";
   de.οnclick=setDate;
  }
  else if(t3<t2 || t3>t2+1000*60*60*24*maxdays)
  {
   des.fontWeight="normal";
   des.color="DarkGray";
   des.cursor="default";
   de.οnclick=null;
  }
  else
  {
   des.color="blue";
   des.fontWeight="bold";
   des.cursor="hand";
   de.οnclick=setDate;
  }
  if(t3==t1 && t1!=t2)
  {
   de.bgColor="Orange";
   des.color="white";
  }
  else
  {
   de.bgColor="white";
  }
  x.setDate(++d);
 }
 while(d+mv<=42)
 {
  de=document.getElementById("d"+(d+mv));
  de.innerHTML="";
  de.bgColor="";
  d++;
 }
}
function setDate()
{
 var dstr=yy+"-"+(mm+1)+"-"+event.srcElement.innerText;
 fld.value=dstr;
 wp.hideCalendar();
}
//-->
</script>
</head>

<body topmargin=0 leftmargin=0 bottommargin=0 rightmargin=0 οnlοad="resizeCalendar();">
<table id=tbl0 bgcolor=Gray border=0 cellpadding=1 cellspacing=0><tr><td>
<table width=100% border=0 cellpadding=2 cellspacing=0>
<tr bgcolor=WhiteSmoke>
<td width=16 id=prev><a href=javascript:drawCalendar(yy,mm-1);><img src=img/prev.gif border=0 width="16" height="16"></a></td>
<td width=99% id=yyyymm style=font-size:11;color:Blue;font-weight:bold></td>
<td width=16 id=next><a href=javascript:drawCalendar(yy,mm+1);><img src=img/next.gif border=0 width="16" height="16"></a></td>
</tr>
</table>
<table width=142 border=0 bgcolor=white cellpadding=0 cellspacing=2>
<tr height=18><td width=18><font color=red>日</font></td><td width=18>一</td><td width=18>二</td><td width=18>三</td><td width=18>四</td><td width=18>五</td><td width=18><font color=green>六</font></td></tr>
<tr height=1><td colspan=7 bgcolor=gray></td></tr>
<script language=javascript>
<!--//
for(i=0;i<6;i++)
{
 str+="<tr height=18>";
 for(j=1;j<=7;j++)str+="<td id=d"+(i*7+j)+" class=dt></td>";
 str+="</tr>";
}
document.write(str);
//-->
</script>
<tr height=1><td colspan=7 bgcolor=gray></td></tr>
<tr height=18><td colspan=7><a href="javascript:wp.hideCalendar();">关闭</a></td></tr>
</table>
</td></tr></table>
<script language=javascript>
<!--//
var bCalLoaded=true;
//-->
</script>
</body>
</html>
/********************************************************************************/
//验证码
//image.jsp
 <%@ page contentType="image/jpeg" import="javax.imageio.*" %>
<jsp:useBean id="image" scope="session" class="com.cgb.online.common.util.RandomImageGenerator"/>
<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

 

// 输出图象到页面
ImageIO.write(image.createImage(), "JPEG", response.getOutputStream());
// 将认证码存入SESSION
session.setAttribute("rand",image.getSRand());
%>
//java源码
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;

import javax.imageio.ImageIO;

/**
 * Description goes here.
 * @author <a href="mailto:shenweiwei@chinagoldenbridge.com">
 * shenweiwei </a>
 */
public class RandomImageGenerator
{
 private String sRand = "";
 
 public String getSRand() {
  return sRand;
 }
 
 public Color getRandColor(int fc, int bc) {
  Random random = new Random();
  if(fc > 255) fc = 255;
  if(bc > 255) bc = 255;
  int r = fc + random.nextInt(bc - fc);
  int g = fc + random.nextInt(bc - fc);
  int b = fc + random.nextInt(bc - fc);
  return new Color(r, g, b);
 }
 
 public BufferedImage createImage() {
  int width = 60, height = 20;
  BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
  
  Graphics g = image.getGraphics();
  
  Random random = new Random();
  
  g.setColor(getRandColor(0, 255));
  g.fillRect(0, 0, width, height);
  
  g.setFont(new Font("Times New Roman", Font.PLAIN, 18));
  
  g.setColor(getRandColor(160, 200));
  for(int i = 0; i < 155; i++) {
   int x = random.nextInt(width);
   int y = random.nextInt(height);
   int x1 = random.nextInt(12);
   int y1 = random.nextInt(12);
   g.drawLine(x, y, x+x1, y+y1);
  }
  
  for(int i = 0; i < 4; i++) {
   String rand = String.valueOf(random.nextInt(10));
   sRand += rand;
   //g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));
   g.setColor(new Color(0,0,0));
   g.drawString(rand, 13*i+6, 16);
  }
  g.dispose();
  return image;
 }
}
/***********************************************************************************/

// name: formValidate.js
// version: 1.0
// author:黄宝颖
// description: Check form inputs at client side before submit a form to server side.
// note: 使用时需要在被判断的Input对象中加入属性值。
//   must="true"         说明该Input对象必填。
//   isNumeric="true"       说明该Input对象必须填写数字类型的值(不要求必填)。
//   isDate="true"        说明该Input对象必须填写日期类型(YYYY-MM-DD)的值(不要求必填)。默认2002-02-01,2002-2-1均可
//   isIntegral="true"       说明该Input对象必须填写日期类型(YYYY-MM-DD)的值必须是完整的,如2002-02-01,而2002-2-1就不允许
//   maxlength="22"        最大长度
//   minlength="6"        最小长度
//  此处还提供了另外几个函数:
//   isDate(objTgt)       判断传入对象objTgt中填写的值(objTgt.value)是否为日期类型。
//   judgeLeapYear(yearStr)     是否为闰年。
//   judgeSmallMonth(monthStr)    是否为小月。
//   isInt(objNumber)      是否为整数。
//   isEmail(email)       判断是否email地址有效
//   isModified(eForm)      页面是否有过修改。


// 表单提交之前,在页面上判断输入的合法性(必填must、数字isNumeric、日期isDate等等)。
function formValidate(formName){
 var isLeapYear=false; /*闰年[二月为29天]*/
 var isSmallMonth=false; /*小月[该月为30天]*/

 if (!document.forms(formName)) return false;

 for (i=0;i<document.forms(formName).length;i++) {
  objTgt = document.forms(formName).item(i);
  //alert(objTgt.type);
  // 对于所有 Text 输入框中的值进行去空操作。
  //if(objTgt.type=="text")objTgt.value=objTgt.value.trim();

  if (objTgt.must=='true'&&objTgt.value==''){
   if (objTgt.disabled==true){
    return true;
   }else{
    if(objTgt.title!=""){
     errAlert ("必填项 ["+objTgt.title+"] 未填写 !","为了保证数据的完整性,系统要求某些值必须填写,/n现在您没有填写其中的 ["+objTgt.title+"] 这一项。","重新填写 ["+objTgt.title+"] 这一项。");
    }else{
     errAlert("必填项未填写 !","为了保证数据的完整性,系统要求某些值必须填写,/n现在您没有填写其中的某几项。","返回重新填写。");
    }
    if(objTgt.type!="select-one"){
     focusItem(objTgt);
    }
    return false;
   }
  }
  //判断最大长度
  if(objTgt.value==null){continue;}
  var formValidate_valueLength=objTgt.value.length;
  var formValidate_maxlength=objTgt.maxlength;
  if(formValidate_maxlength!=""){
   if(parseFloat(formValidate_maxlength)<parseFloat(formValidate_valueLength)){
     if(objTgt.title!=""){
      errAlert ("["+objTgt.title+"] 项中长度超过最大值:"+formValidate_maxlength+"!","为了保证数据的准确性,系统要求某些长度不超过最大值,/n现在您在 ["+objTgt.title+"] 项中长度超过最大值。","重新填写 ["+objTgt.title+"] 这一项。");
     }else{
      errAlert ("应该长度不超过最大值:"+formValidate_maxlength+"!","为了保证数据的准确性,系统要求某些长度不超过最大值,/n现在您在某几项中长度超过最大值。","重新填写。");
     }

     focusItem(objTgt);
     return false;
   }
  }
  var formValidate_minlength=objTgt.minlength;
  if(formValidate_minlength!=""){
   if(parseFloat(formValidate_minlength)>parseFloat(formValidate_valueLength)){
     if(objTgt.title!=""){
      errAlert ("["+objTgt.title+"] 项中长度不够最小值:"+formValidate_minlength+"!","为了保证数据的准确性,系统要求某些长度超过最小值,/n现在您在 ["+objTgt.title+"] 项中长度未超过最小值。","重新填写 ["+objTgt.title+"] 这一项。");
     }else{
      errAlert ("应该长度超过最小值:"+formValidate_minlength+"!","为了保证数据的准确性,系统要求某些长度超过最小值,/n现在您在某几项中长度不超过最小值。","重新填写。");
     }

     focusItem(objTgt);
     return false;
   }
  }

  if(objTgt.value!=''){
   //开始各种判断
   //判断是数字和数字在一定的范围
   if (objTgt.isNumeric=='true'){
    if (isNaN(objTgt.value)){
     if(objTgt.title!=""){
      errAlert ("["+objTgt.title+"] 项中应该填写数字 !","为了保证数据的准确性,系统要求某些值必须填写数字,/n现在您在 ["+objTgt.title+"] 项中没有填写数字。","重新填写 ["+objTgt.title+"] 这一项。");
     }else{
      errAlert ("应该填写数字 !","为了保证数据的准确性,系统要求某些值必须填写数字,/n现在您在某几项中没有填写数字。","重新填写。");
     }

     focusItem(objTgt);
     return false;
    }

    var objTgtValue=new Number(objTgt.value);
    var maxV=objTgt.maxValue;
    var minV=objTgt.minValue;

    if(objTgt.isPow==1){
     if (Math.abs(objTgtValue)>=Math.pow(10,maxV)||Math.abs(objTgtValue)<Math.pow(10,(minV-1))){
      errAlert ("所填数字超出规定范围!/n数字范围从/""+minV+"/"到/""+maxV+"/"");

      focusItem(objTgt);
      return false;
     }
    }else{
     if(objTgtValue.valueOf()>maxV||objTgtValue.valueOf()<minV){
      errAlert ("所填数字超出规定范围!/n数字范围从/""+minV+"/"到/""+maxV+"/"");

      focusItem(objTgt);
      return false;
     }
    }
   }
   //合法邮件地址检测
   if (objTgt.isEmail=="true"){
    if(isEmail(objTgt.value)==false){
     if(objTgt.title!=""){
      errAlert ("["+objTgt.title+"] 项中应该填写有效的电子邮件地址 !","为了保证数据的准确性,系统要求某些值必须填写电子邮件地址,/n现在您在 ["+objTgt.title+"] 项中没有填写电子邮件地址。","重新填写 ["+objTgt.title+"] 这一项。");
     }else{
      errAlert ("应该填写有效的电子邮件地址 !","为了保证数据的准确性,系统要求某些值必须填写有效的电子邮件地址,/n现在您在某几项中没有填写有效的电子邮件地址。","重新填写。");
     }
      focusItem(objTgt);
      return false;
    }
   }
   //整数类型
   if (objTgt.isInt=="true"){
    if(isInt(objTgt.value)==false){
     if(objTgt.title!=""){
      errAlert ("["+objTgt.title+"] 项中应该填写整数!","为了保证数据的准确性,系统要求某些值必须填写整数,/n现在您在 ["+objTgt.title+"] 项中没有填写整数。","重新填写 ["+objTgt.title+"] 这一项。");
     }else{
      errAlert ("应该填写整数 !","为了保证数据的准确性,系统要求某些值必须填写整数,/n现在您在某几项中没有填写整数。","重新填写。");
     }
     focusItem(objTgt);
     return false;
    }
   }
   //日期类型
   if (objTgt.isDate=="true"){
    if(isDate(objTgt)==false){
     focusItem(objTgt);
     return false;
    }
   }
                      if (objTgt.isStartDate=="true"){
                      var objTgtValue=new String(objTgt.value);
    if(isStartDate(objTgtValue)==false){
                                focusItem(objTgt);
     return false;
    }
   }
  }

 }
 return true;
}
/***************************************************************************/
// 判断是否是日期。
function isDate(objTgt){
 var inDate=objTgt.value;
 var isIntegral=objTgt.isIntegral;
 //alert(isIntegral);

 if (inDate.length>=6 && inDate.length<=10 && inDate.indexOf("-")!=-1 && inDate.indexOf("-")!=inDate.lastIndexOf("-") && inDate.substring(inDate.indexOf("-")+1,inDate.lastIndexOf("-")).indexOf("-")==-1){
  var inYear=parseInt(inDate.substring(0,inDate.indexOf("-")));
  var inMonth=inDate.substring(inDate.indexOf("-")+1,inDate.lastIndexOf("-"));
   if(isIntegral=="true"){
    if(inMonth.length!=2){
     errAlert("月份填写有误 !表示月份的数字必须是完整的,如1月用01表示.","表示月份的数字必须是完整的,如一月用01表示,可是您在 ["+objTgt.title+"] 项中填写的 "+inMonth+" 显然不在这个范围内。","重新填写 ["+objTgt.title+"] 这一项。");
     return false;
    }
   }
   if (inMonth.substring(0,1)=="0" && inMonth.length>1)
    inMonth=inMonth.substring(1,inMonth.length);
   inMonth=parseInt(inMonth);
  var inDay=inDate.substring(inDate.lastIndexOf("-")+1,inDate.length);
   if(isIntegral=="true"){
    if(inDay.length!=2){
     errAlert("日期填写有误 !表示日期的数字必须是完整的,如1日用01表示.","表示日期的数字必须处于1到31之间,而且必须满足闰年和大小月规则,/n可是您在 ["+objTgt.title+"] 项中填写的 "+inDay+" 显然不满足要求。","重新填写 ["+objTgt.title+"] 这一项。");
     return false;
    }
   }
   if (inDay.substring(0,1)=="0" && inDay.length>1)
    inDay=inDay.substring(1,inDay.length);
   inDay=parseInt(inDay);

  //alert(inYear+"-"+inMonth+"-"+inDay);
  if (inYear && !(isNaN(inYear)) && inYear.toString().length==4){
   var year=inYear;
   isLeapYear=judgeLeapYear(inYear);
  }else if(inYear.toString().length!=4){
   errAlert("对不起,系统需要四位年 !","为了保证日期存储的准确性,系统要求所有的日期输入都使用四位数字表示年份,/n可是您在 ["+objTgt.title+"] 项中没有使用四位年输入。","重新输入 ["+objTgt.title+"] 这一项。");

   focusItem(objTgt);
   return false;
  }else{
   errAlert("年份填写有误 !","","");

   focusItem(objTgt);
   return false;
  }

  if (inMonth && !(isNaN(inMonth)) && inMonth<=12 && inMonth >=1){
   var month=inMonth;
   isSmallMonth=judgeSmallMonth(inMonth);

  }else{
   errAlert("月份填写有误 !","表示月份的数字必须处于1到12之间,可是您在 ["+objTgt.title+"] 项中填写的 "+inMonth+" 显然不在这个范围内。","重新填写 ["+objTgt.title+"] 这一项。");

   focusItem(objTgt);
   return false;
  }

  if (inDay && !(isNaN(inDay)) && inDay>=1 && (month==2?(isLeapYear?inDay<=29:inDay<=28):(isSmallMonth?inDay<=30:inDay<=31))){
   var day=inDay;

  }else{
   errAlert("日期填写有误 !","表示日期的数字必须处于1到31之间,而且必须满足闰年和大小月规则,/n可是您在 ["+objTgt.title+"] 项中填写的 "+inDay+" 显然不满足要求。","重新填写 ["+objTgt.title+"] 这一项。");

   focusItem(objTgt);
   return false;
  }

  var inputDate=new Date();
  if (!(Date.parse(month + "-" + day + "-" + year))){
   errAlert("日期填写有误 !","为了保证日期存储的准确性,系统要求所有的日期输入都按照 YYYY-MM-DD 的格式输入,/n可是您在 ["+objTgt.title+"] 项中的输入值 ["+objTgt.value+"] 不满足输入要求。","重新输入 ["+objTgt.title+"] 这一项。");

   focusItem(objTgt);
   return false;
  }

 }else{
  errAlert("您输入的不是一个完整的日期值 !","为了保证日期存储的准确性,系统要求所有的日期输入都按照 YYYY-MM-DD 的格式输入,/n可是您在 ["+objTgt.title+"] 项中的输入值 ["+objTgt.value+"] 不满足输入要求。","重新输入 ["+objTgt.title+"] 这一项。");

  focusItem(objTgt);
  return false;
 }
}
/*****************************************************************************/
// 判断闰年。
function judgeLeapYear(yearStr){
 if(!(isNaN(yearStr)) && yearStr.toString().length==4 && (yearStr%100==0?yearStr%400==0:yearStr%4==0))
  return true;
 return false;
}
/******************************************************************************/
// 判断小月。
function judgeSmallMonth(monthStr){
 if(monthStr==4||monthStr==6||monthStr==9||monthStr==11)
  return true;
 return false;
}
/*******************************************************************************/
// 是否整数。
function isInt(objNumber){
 if(!isNaN(objNumber)){
  if(Math.round(objNumber)==objNumber){
   return true;
  }else{
   return false;
  }
 }else{
  return false;
 }
}
/**********************************************************************************/
// 使INPUT对象获取焦点。
function focusItem(objTgt){
 objTgt.select();
 objTgt.focus();
}
/***********************************************************************************/
// 判断页面是否修改过。
// 传入要判断页面的对象 -- eForm。
// 返回值:
// true -- 曾经修改过
// false -- 没有修改过
function isModified(eForm){
 var iNumElems = eForm.elements.length;
 for (var i=0;i<iNumElems;i++){
  var eElem = eForm.elements[i];
  // 输入框是否修改。
  if ("text" == eElem.type || "TEXTAREA" == eElem.tagName){
   if (eElem.value != eElem.defaultValue) return true;
  }
  // checkBox和radioBox是否修改。
  else if ("checkbox" == eElem.type || "radio" == eElem.type){
   if (eElem.checked != eElem.defaultChecked) return true;
  }
  // select是否修改。
  else if ("SELECT" == eElem.tagName){
   var cOpts = eElem.options;
   var iNumOpts = cOpts.length;
   for (var j=0;j<iNumOpts;j++){
    var eOpt = cOpts[j];
    if (eOpt.selected != eOpt.defaultSelected) return true;
   }
  }
 }
 return false;
}
/**************************************************************************************/
/**
 * 合法邮件地址检测
 */
 function isEmail(email) {
 //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 isFomatMail = new RegExp(regu);

 var isFomatMail = new RegExp('^[_/.0-9a-z-]+@([0-9a-z][0-9a-z-]+/.)+[a-z]{2,3}$','');

 if (email.search(isFomatMail) >= 0) {
  return true;
 }
 return false;
}
/****************************************************************************************/
//输出错误内容,原因及解决方法
function errAlert(errContent,errReason,errSolve){
 var errAlertString="";
 if(errContent!=""&&errContent!="undefined"){
  errAlertString="错误:/n"+errContent+"/n";

  if(errReason!=""&&errReason!="undefined")
   errAlertString+="/n错误原因:/n"+errReason;

  if(errSolve!=""&&errSolve!="undefined")
   errAlertString+="/n/n解决方法:/n"+errSolve;

  errAlertString+="/n";

  alert(errAlertString);

 }else{
  alert("调试期间错误 !/n/n错误内容为空 !");
 }
}

/*****************************************************************/
// 警告信息。
function warnAlert(warnContent){
 var warnAlertString="";

 if(warnContent!=""){
  warnAlertString="警告:/n"+warnContent+"/n";

  alert(warnAlertString);

 }else{
  alert("警告内容为空!");
 }
}
/*********************************************************/
// 是否规范时间。
function isStartDate(dateStr){
 if(dateStr.length!=5)
 {
  alert ("请填写规范的发车时间,例如09:00");
  return false;
 }
 else{
  for (j=0;j<5;j++){
   var strlen = dateStr.substr(j,1);
   if(j==0 || j==1 || j==3 || j==4)
   {
    if(strlen<"0" || strlen>"9")
    {
    alert ("输入时间含非法字符,请按格式填写");
    return false;
    }
   }
  
   if(j==2)
   {
    if(strlen!=":")
    {
    alert ("输入时间含非法字符,请按格式填写");
    return false;
    }
   }
  }
 }
}
/********************************************************************/
String.prototype.trim=function(){
    return this.replace(/(^/s*)|(/s*$)/g,"");
}
String.prototype.getLength=function(){
 var arr=escape(this).match(/%u/g);
 return arr ? this.length+arr.length*2:this.length;
}
String.prototype.getSize=function(){
 var arr=escape(this).match(/%u/g);
 return arr ? this.length+arr.length:this.length;
}
Number.prototype.split=function(){
 var integer=this<0 ? Math.ceil(this):Math.floor(this);
 return [integer,Math.abs(this-integer)];
}
Number.prototype.format=function(dec) {
 if (dec) {
  var iC=dec.indexOf('$')==0;
  dec=iC ? (dec.length>1 ? Number(dec.substr(1)):2):Number(dec);
 }
 if (!dec)
  return Math.round(this);
 var b=this>=0;
 var s=(Math.round((b?this:-this)*Math.pow(10,dec))/Math.pow(10,dec)+Math.pow(10,-dec-1))+"";
 var r=(b?"":"-")+s.substr(0,s.indexOf(".")+dec+1);
 if (iC) {
  var i=r.indexOf(".");
  var integer=r.substr(0,i);
  var tmp=r.substr(i);
  while (integer.length>3) {
   tmp=","+integer.substr(integer.length-3)+tmp;
   integer=integer.substr(0,integer.length-3);
  }
  r=integer+tmp;
 }
 return r;
}
var regExps={
 date:[/Y+/,/M+/,/D+/,/h+/,/m+/,/s+/,/星期/,/week/],
 weekCN:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
 weekEN:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
 tele:/((/([0-9]+/))(/-)[0-9]+)|([0-9]+(/-)[0-9]+)|((/([0-9]+/))[0-9]+)|([0-9]+)/g,
 mobile:/[0-9]+/g,
 email:/[/w/-/.]+@(/w+[/.]{1})+/w+/g
}
Date.prototype.doMask=function(mask){
 var str=[];
 var re=regExps.date;
 var _Y=re[0].exec(mask);
 var _M=re[1].exec(mask);
 var _D=re[2].exec(mask);
 var _h=re[3].exec(mask);
 var _m=re[4].exec(mask);
 var _s=re[5].exec(mask);
 var _wcn=re[6].exec(mask);
 var _wen=re[7].exec(mask);
 if (_Y)
  str[0]=(this.getFullYear()+"").substr(4-_Y.toString().length);
 if (_M){
  var monStr=this.getMonth()+1+"";
  str[1]=monStr.length<_M.toString().length ? "0"+monStr:monStr;
 }
 if (_D){
  var dayStr=this.getDate()+"";
  str[2]=dayStr.length<_D.toString().length ? "0"+dayStr:dayStr;
 }
 if (_h){
  var hourStr=this.getHours()+"";
  str[3]=hourStr.length<_h.toString().length ? "0"+hourStr:hourStr;
 }
 if (_m){
  var minStr=this.getMinutes()+"";
  str[4]=minStr.length<_m.toString().length ? "0"+minStr:minStr;
 }
 if (_s){
  var secStr=this.getSeconds()+"";
  str[5]=secStr.length<_s.toString().length ? "0"+secStr:secStr;
 }
 if (_wcn)
  str[6]=this.base.weekCN[this.getDay()];
 if (_wen)
  str[7]=this.base.weekEN[this.getDay()];
 for (var i in re)
  mask=mask.replace(re[i],str[i]);
 return mask;
}
function doErrorStyle(p,q) {
 p.style.backgroundColor="#FF0000";
 p.style.color="#FFFFFF";
 p.title=q;
}
function doNormalStyle(p) {
 if (p.readOnly) {
  p.style.backgroundColor="#EEEEEE";
  p.style.color="#666666";
  cursor="default";
 } else {
  p.style.backgroundColor="transparent";
  p.style.color="#000000";
  cursor="text";
 }
 p.title="";
}
function calc(p,doc) {
 var reg=/F/([/w/.]+/)/g;
 var flds=p.match(reg),j,fld,type;
 for (var i=0;i<flds.length;i++) {
  j=flds[i];
  fld=doc.getElementById(j.substring(2,j.length-1));
  type=fld.dtype.substr(0,1);
  switch (type) {
   case "d":
    p=p.replace(j,fld.title ? "NaN":new Date(refixDate(fld.realValue)));
    break;
   case "t":
    p=p.replace(j,fld.title ? "NaN":new Date("2000/1/1 "+fld.realValue));
    break;
   default:
    p=p.replace(j,fld.title ? "NaN":fld.realValue);
  }
  return eval(p);
 }
}
function refixDate(p,toMax){
 var r=p.trim().replace(/[年月/-/.]/g,"/").replace(/[时分]/g,":").replace(/[日秒]/g," ");
 var i=r.indexOf(" ");
 if (i==-1) {
  var arr=r.split("/");
  var time="00:00:00";
 }else{
  var arr=r.substr(0,i).split("/");
  var time=r.substr(i+1);
 }
 var today=new Date;
 var yt=arr[0] || today.getFullYear();
 if (yt.length>4)
  return 'NaN';
 else if (yt.length<4)
  var y=today.getFullYear().toString().substr(0,4-yt.length)+yt;
 else
  var y=yt;
 var m=arr[1] || (today.getMonth()+1);
 if (m<1 || m>12)
  return 'NaN';
 if (toMax)
 {
  var d=getMonthLen(y)[m-1];
 }
 else
 {
  var d=arr[2] || today.getDate();
  if (d<1 || d>getMonthLen(y)[m-1])
   return 'NaN';
 }
 return y+"/"+m+"/"+d+" "+time;
}
function checkLeapYear(p) {
 return ((p%4==0 && p%100 != 0) || p%400==0) ? 29:28;
}
function getMonthLen(p) {
 return [31,checkLeapYear(p),31,30,31,30,31,31,30,31,30,31];
}
/**************************************************************************/
//JS去除首尾空格(同VBS的Trim)

function trim(inputString) {
   
              if (typeof inputString != "string") { return inputString; }
              var retValue = inputString;
              var ch = retValue.substring(0, 1);
              while (ch == " ") {
           //检查字符串开始部分的空格
                  retValue = retValue.substring(1, retValue.length);
                  ch = retValue.substring(0, 1);
              }
              ch = retValue.substring(retValue.length-1, retValue.length);
              while (ch == " ") {
                 //检查字符串结束部分的空格
                 retValue = retValue.substring(0, retValue.length-1);
                 ch = retValue.substring(retValue.length-1, retValue.length);
              }
              while (retValue.indexOf("  ") != -1) {
          //将文字中间多个相连的空格变为一个空格
                 retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
              }
              return retValue;
           }

</SCRIPT> 

//是否有效的数字;
function IsNumber(_str){
 var tmp_str = trim(_str);
 var pattern = /^[0-9]/;
 return pattern.test(tmp_str);  
}
//是否有效的颜色值;
function IsColor(color){
 var temp=color;
 if (temp=="") return true;
 if (temp.length!=7) return false;
 return (temp.search(//#[a-fA-F0-9]{6}/) != -1);
}
//是否有效的链接;
function IsURL(url){
 var sTemp;
 var b=true;
 sTemp=url.substring(0,7);
 sTemp=sTemp.toUpperCase();
 if ((sTemp!="HTTP://")||(url.length<10)){
  b=false;
 }
 return b;
}
//是否有效的手机号码;
function IsMobile(_str){
 var tmp_str = trim(_str);
 var pattern = /13/d{9}/;
 return pattern.test(tmp_str);  
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值