`
rimoer
  • 浏览: 93914 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一些常用的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.onclick=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 onclick="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.onclick=setDate;
}
else if(t3<t2 || t3>t2+1000*60*60*24*maxdays)
{
des.fontWeight="normal";
des.color="DarkGray";
des.cursor="default";
de.onclick=null;
}
else
{
des.color="blue";
des.fontWeight="bold";
des.cursor="hand";
de.onclick=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 onload="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);
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics