`
jlj008
  • 浏览: 94783 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

常用js(javascript)函数

阅读更多

 1.常规函数
  javascript 常规函数包括以下9个函数:
  (1)alert函数:显示一个警告对话框,包括一个OK按钮。
  (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
  (3)escape函数:将字符转换成Unicode码。
  (4)eval函数:计算表达式的结果。
  (5)isNaN函数:测试是(true)否(false)不是一个数字。
  (6)parseFloat函数:将字符串转换成符点数字形式。
  (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
  (8)prompt函数:显示一个输入对话框,提示等待用户输入。例如:
  (9)unescape函数:解码由escape函数编码的字符。
2.数组函数
  javascript 数组函数包括以下4个函数:
  (1)join函数:转换并连接数组中的所有元素为一个字符串。例:

 程序代码
function JoinDemo()
{
 var a, b;
 a = new Array(0,1,2,3,4);
 b = a.join("-");//分隔符
 return(b);//返回的b=="0-1-2-3-4"

 
 (2)langth函数:返回数组的长度。例:
    
 程序代码
function LengthDemo()
{
 var a, l;
 a = new Array(0,1,2,3,4);
 l = a.length;
 return(l);//l==5


  (3)reverse函数:将数组元素顺序颠倒。例:
   
 程序代码
function ReverseDemo()
{
 var a, l;
 a = new Array(0,1,2,3,4);
 l = a.reverse();
 return(l);

  (4)sort函数:将数组元素重新排序。例:
    
 程序代码
function SortDemo()
{
 var a, l;
 a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
 l = a.sort();
 return(l);

3.日期函数
  javascript 日期函数包括以下20个函数:
  (1)getDate函数:返回日期的“日”部分,值为1~31。例:
   
 程序代码
function DateDemo()
{
 var d, s = "Today's date is: ";
 d = new Date();
 s += (d.getMonth() + 1) + "/";
 s += d.getDate() + "/";
 s += d.getYear();
 return(s);

  (2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:
   
 程序代码
function DateDemo()
{
 var d, day, x, s = "Today is: ";
 var x = new Array("Sunday", "Monday", "Tuesday");
 var x = x.concat("Wednesday","Thursday", "Friday");
 var x = x.concat("Saturday");
 d = new Date();
 day = d.getDay();
 return(s += x[day]);

  (3)getHouse函数:返回日期的“小时”部分,值为0~23。例。
   
 程序代码
function TimeDemo()
{
 var d, s = "The current local time is: ";
 var c = ":";
 d = new Date();
 s += d.getHours() + c;
 s += d.getMinutes() + c;
 s += d.getSeconds() + c;
 s += d.getMilliseconds();
 return(s);

  (4)getMinutes函数:返回日期的“分钟”部分,值为0~59。见上例。
  (5)getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
  (6)getSeconds函数:返回日期的“秒”部分,值为0~59。见前面的例子。
  (7)getTime函数:返回系统时间。
   
 程序代码
function GetTimeTest()
{
 var d, s, t;
 var MinMilli = 1000 * 60;
 var HrMilli = MinMilli * 60;
 var DyMilli = HrMilli * 24;
 d = new Date();
 t = d.getTime();
 s = "It's been "
 s += Math.round(t / DyMilli) + " days since 1/1/70";
 return(s);

  (8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
   
 程序代码
function TZDemo()
{
 var d, tz, s = "The current local time is ";
 d = new Date();
 tz = d.getTimezoneOffset();
}

  if (tz 的链接点的名称,另一个函数link设定的URL地址。
  (2)big函数:将字体加到一号,与...标签结果相同。
  (3)blink函数:使字符串闪烁,与...标签结果相同。
  (4)bold函数:使字体加粗,与...标签结果相同。
  (5)charAt函数:返回字符串中指定的某个字符。
  (6)fixed函数:将字体设定为固定宽度字体,与...标签结果相同。
  (7)fontcolor函数:设定字体颜色,与标签结果相同。
  (8)fontsize函数:设定字体大小,与标签结果相同。
  (9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
  (10)italics函数:使字体成为斜体字,与...标签结果相同。
  (11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始 查找。
  (12)length函数:返回字符串的长度。(不用带括号)
  (13)link函数:产生一个超级链接,相当于设定的URL地址。
  (14)small函数:将字体减小一号,与...标签结果相同。
  (15)strike函数:在文本的中间加一条横线,与...标签结果相同。
  (16)sub函数:显示字符串为下标字(subscript)。
  (17)substring 函数:返回字符串中指定的几个字符。
  (18)sup函数:显示字符串为上标字(superscript)。
  (19)toLowerCase函数:将字符串转换为小写。
  (20)toUpperCase函数:将字符串转换为大写。

//校验是否全由数字组成

 程序代码
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
}


//校验用户姓名:只能输入1-30个以字母开头的字串

 程序代码
function isTrueName(s)
{
 var patrn=/^[a-zA-Z]{1,30}$/;
 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 isTel(s)
{
 //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
 var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
 if (!patrn.exec(s)) return false
 return true
}


//校验手机号码:必须以数字开头,除数字外,可含有“-”

 程序代码
function isMobil(s)
{
 var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
 if (!patrn.exec(s)) return false
 return true
}

//校验邮政编码

 程序代码
function isPostalCode(s)
{
 //var patrn=/^[a-zA-Z0-9]{3,12}$/;
 var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校验搜索关键字

 程序代码
function isSearch(s)
{
 var patrn=/^[^`~!@#$^%&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;
 if (!patrn.exec(s)) return false
 return true
}


 程序代码
function isIP(s) //by zergling
{
 var patrn=/^[0-9.]{1,20}$/;
 if (!patrn.exec(s)) return false
 return true
}


常用js函数 
/**//*------------------------------------------------------------
dateDlg(inputid,initDate,startYear,endYear) 弹出时间窗口
compareDate(end,s) 与当前时间比较
compareTwoDate(startDate,endDate,s) 比较两个时间
isNumber(text,name) 判断全是数字(true) 
isChar(text,addtemp,name,include) 判断符合要求字符
isEmail(text) 判断是电子邮件
isPid(text) 判断是身份证号
isNull(text,name) 判断为空则提示(true)
getLength(text) 获取长度
lengthEquals(text,name,num) 确定长度(true)
lengthless(text,name,num) 长度不少于(true)
lengthmore(text,name,num) 长度不大于(true)
checkPassword(text,text1) 检验两次输入密码是否一致(true)
------------------------------------------------------------ 
//checkData()放在jsp页面

function checkData()
{
 if(isNull(form1.name,'帐号')){}
 else if(lengthEquals(form1.name,"帐号",8)){}
 else if (getLength(form1.name)>13){}
 else{
  form1.submit();
 } 
}

------------------------------------------------------------*/
/**//*------------------------------------------------------------
弹出时间选择小控件
inputid--文本框name
initDate--初始日期,为空时是当前时间
startYear--日期范围的开始日期
endYear--日期范围的结束日期
使用例子onClick="dateDlg(end,'1999-11-12','1980','2010')"
------------------------------------------------------------*/
function dateDlg(inputid,initDate,startYear,endYear)
{
 var pattern = /^(19|20)([0-9]){2}$/;
 flag=pattern.test(startYear);
 if(!flag)startYear=1900;
 flag=pattern.test(endYear);
 if(!flag)endYear=2050;
 if(inputid.value==null||inputid.value=='')
 {
  if(initDate==null||initDate=='')
  {
   currentDate = new Date(); 
  }
  else
  {
   currentDate = initDate;
  }
 }
 else
 { 
  currentDate = inputid.value;
 }
 var arguments = new Array(startYear,endYear,0,0,0)

 var pattern = /^(19|20)([0-9]){2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
 flag=pattern.test(currentDate);
 if(flag)
 {
  iYear=currentDate.substring (0,4);
  iMonth=currentDate.substring (5,7);
  iDay=currentDate.substring (8,10);
  arguments = new Array(startYear,endYear,iYear,iMonth,iDay)
 }
 showx = event.screenX - event.offsetX + 18;
 showy = event.screenY - event.offsetY - 210;

 var features =
 'dialogWidth:' + 192 + 'px;' +
 'dialogHeight:' + 210 + 'px;' +
 'dialogLeft:' + showx + 'px;' +
 'dialogTop:' + showy + 'px;' +
 'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no';
 retval = window.showModalDialog("../js/calendar.htm", arguments , features );
 var calctrl = eval(inputid)
 if( retval != null )
 {
  calctrl.value = retval;
 }
 else
 {
  //alert("canceled");
 }
}

/**//*------------------------------------------------------------
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, "");
}
/**//*------------------------------------------------------------
判断密码是否有单引号
------------------------------------------------------------*/
function isNotYinhao(s)

 var yin;
 var temp="'";
 for(yin=0; yin =0)
 {
  return true;
 }
 return false;
}

/**//*------------------------------------------------------------
定义变量
------------------------------------------------------------*/
var i,j;

/**//*------------------------------------------------------------
和当前日期比较,如果当前日期大于输入日期则提示
end----输入日期
s----提示信息
使用例子onClick="compareDate(end,'选择日期不能在今天之前!')" 
------------------------------------------------------------*/
function compareDate(end,s)
{
 var a=new Date();
 var b=end.value;
 if(((Number(a.getYear())-Number(b.substring (0,4)))*356+(Number(a.getMonth())-Number(b.substring (5,7))+1)*31+(Number(a.getDate())-Number(b.substring (8,10))))>0)
 {
  alert(s);
  end.focus();
 }
}


/**//*------------------------------------------------------------
两个时间进行比较,当开始日期大于结束日期则提示
startDate----开始日期
endDate------结束日期
使用例子onClick="compareTwoDate(startDate,endDate,'开始日期不能大于结束日期!')" 
------------------------------------------------------------*/
function compareTwoDate(startDate,endDate,s)
{
 var a=startDate.value;
 var b=endDate.value;
 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();
 }
}

/**//*------------------------------------------------------------
判断是否为数字类型,如不是数字类型则提示
text-------输入文本
name-------提示的名字
使用例子onBlur="compareTwoDate(this,'电话号码')" 
------------------------------------------------------------*/
function isNumber(text,name)
{
 var temp="0123456789";
 for(j=0; jemail.length-3)
 {
  alert("请输入正确的电子邮件格式!");
  text.focus();
  return true;
 }
 else if(nemail.length-2)
 {
  alert("请输入正确的电子邮件格式!");
  text.focus();
  return true;
 }
}
/**//*------------------------------------------------------------
判断输入文本是否为身份证号码,如为不正确则提示
text-------输入的身份证号码
使用例子onBlur="isPid(this)" 
------------------------------------------------------------*/
function isPid(text)
{
 var pid=text.value.Trim();
 var temp="0123456789";
 var temp1="0123456789xX";
 if(pid!=""){
 if(pid.length==15)
 {
  for(j=0; j?\"";
  temp=temp+"·~!◎#¥%……※×()——+§-=÷【】『』;‘:“,。、《》?";
  var len = text.value.Trim().length;
  for(j=0;jnum)
  {
   alert(name+"不能大于"+num+"位!")
   text.focus();
   return true;
  }
 }
}

/*------------------------------------------------------------
判断bodyText输入文本是否为空,如为空则提示
bodyText-------输入文本
使用例子onBlur="isNullBody('姓名')" 
------------------------------------------------------------*/
function isNullBody(name)
{
 var bodyText = frames["Dvbbs_Composition"].document.body.innerText;
 if(bodyText.length==0) 
 {
  frames["Dvbbs_Composition"].focus();
  alert(name+"不能为空!");
  return true;
 }
}


/*------------------------------------------------------------
获取文本框长度,中文作为两个字符处理
bodyText-------输入文本
使用例子isLengthBody(form1.name) 
------------------------------------------------------------*/
function isLengthBody(text,name)
{
 if (text.value.length > 600) 
 {
  frames["Dvbbs_Composition"].focus();
  alert(name+"不能超过600!");
  return true;
 }
}


/*------------------------------------------------------------
检查是否含有”'“号
有,则返回true
无, 则返回false
------------------------------------------------------------*/
function isTheChar(text,name)
{
 var re= /'/g;
 var arr = text.match(re);
 if (arr == null)
 return false;
 else
 return true;



/*********************************************************************************
* EO_JSLib.js
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
}

//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
 var patrn=/^[a-zA-Z]{1,30}$/;
 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 isTel(s)
{
 //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
 var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
 if (!patrn.exec(s)) return false
 return true
}

//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
 var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
 if (!patrn.exec(s)) return false
 return true
}

//校验邮政编码
function isPostalCode(s)
{
 //var patrn=/^[a-zA-Z0-9]{3,12}$/;
 var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校验搜索关键字
function isSearch(s)
{
 var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;
 if (!patrn.exec(s)) return false
 return true
}

function isIP(s) //by zergling
{
 var patrn=/^[0-9.]{1,20}$/;
 if (!patrn.exec(s)) return false
 return true
}
 
 
/*********************************************************************************
* FUNCTION: isBetween
* PARAMETERS: val AS any value
* lo AS Lower limit to check
* hi AS Higher limit to check
* CALLS: NOTHING
* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.
**********************************************************************************/
function isBetween (val, lo, hi) 
{
 if ((val < lo) || (val > hi)) { return(false); }
 else { return(true); }
}

/*********************************************************************************
* FUNCTION: isDate checks a valid date
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isDate (theStr) 
{
 var the1st = theStr.indexOf('-');
 var the2nd = theStr.lastIndexOf('-');

 if (the1st == the2nd) { return(false); }
 else 
 {
  var y = theStr.substring (0,the1st);
  var m = theStr.substring (the1st+1,the2nd);
  var d = theStr.substring (the2nd+1,theStr.length);
  var maxDays = 31;

  if (isInt(m)==false || isInt(d)==false || isInt(y)==false) 
  {
   return(false); 
  }
  else if (y.length < 4) { return(false); }
  else if (!isBetween (m, 1, 12)) { return(false); }
  else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
  else if (m==2) 
  {
   if (y % 4 > 0) maxDays = 28;
   else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
   else maxDays = 29;
  }
  if (isBetween(d, 1, maxDays) == false) 
  { 
   return(false); 
  }
  else 
  { 
   return(true); 
  }
 }
}
/*********************************************************************************
* FUNCTION: isEuDate checks a valid date in British format
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isEuDate (theStr) 
{
 if (isBetween(theStr.length, 8, 10) == false) { return(false); }
 else 
 {
  var the1st = theStr.indexOf('/');
  var the2nd = theStr.lastIndexOf('/');

  if (the1st == the2nd) 
  {
   return(false); 
  }
  else 
  {
   var m = theStr.substring (the1st+1,the2nd);
   var d = theStr.substring (0,the1st);
   var y = theStr.substring (the2nd+1,theStr.length);
   var maxDays = 31;

   if (isInt(m)==false || isInt(d)==false || isInt(y)==false) 
   {
    return(false); 
   }
   else if (y.length < 4) { return(false); }
   else if (isBetween (m, 1, 12) == false) { return(false); }
   else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
   else if (m==2) {
    if (y % 4 > 0) maxDays = 28;
    else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
    else maxDays = 29;
   }

   if (isBetween(d, 1, maxDays) == false) 
   { 
    return(false); 
   }
   else { return(true); }
  }
 }

}
/********************************************************************************
* FUNCTION: Compare Date! Which is the latest!
* PARAMETERS: lessDate,moreDate AS String
* CALLS: isDate,isBetween
* RETURNS: TRUE if lessDate *********************************************************************************/
function isComdate (lessDate , moreDate)
{
 if (!isDate(lessDate)) { return(false);}
 if (!isDate(moreDate)) { return(false);}
 var less1st = lessDate.indexOf('-');
 var less2nd = lessDate.lastIndexOf('-');
 var more1st = moreDate.indexOf('-');
 var more2nd = moreDate.lastIndexOf('-');
 var lessy = lessDate.substring (0,less1st);
 var lessm = lessDate.substring (less1st+1,less2nd);
 var lessd = lessDate.substring (less2nd+1,lessDate.length);
 var morey = moreDate.substring (0,more1st);
 var morem = moreDate.substring (more1st+1,more2nd);
 var mored = moreDate.substring (more2nd+1,moreDate.length);
 var Date1 = new Date(lessy,lessm,lessd); 
 var Date2 = new Date(morey,morem,mored); 
 if (Date1>Date2) { return(false);}
 return(true); 

}

/*********************************************************************************
* FUNCTION isEmpty checks if the parameter is empty or null
* PARAMETER str AS String
**********************************************************************************/
function isEmpty (str) {
 if ((str==null)||(str.length==0)) return true;
 else return(false);
}

/*********************************************************************************
* FUNCTION: isInt
* PARAMETER: theStr AS String  
* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE
* CALLS: isDigit
**********************************************************************************/
function isInt (theStr) {
 var flag = true;

 if (isEmpty(theStr)) { flag=false; }
 else
 { 
  for (var i=0; i   {
   if (isDigit(theStr.substring (i,i+1)) == false) 
   {
    flag = false; break;
   }
  }
 }
 return(flag);
}

/*********************************************************************************
* FUNCTION: isReal
* PARAMETER: heStr AS String  
decLen AS Integer (how many digits after period)
* RETURNS: TRUE if theStr is a float, otherwise FALSE
* CALLS: isInt
**********************************************************************************/
function isReal (theStr, decLen) {
 var dot1st = theStr.indexOf('.');
 var dot2nd = theStr.lastIndexOf('.');
 var OK = true;

 if (isEmpty(theStr)) return false;

 if (dot1st == -1) 
 {
  if (!isInt(theStr)) return(false);
  else return(true);
 }

 else if (dot1st != dot2nd) return (false);
 else if (dot1st==0) return (false);
 else {
  var intPart = theStr.substring (0, dot1st);
  var decPart = theStr.substring (dot2nd+1);

  if (decPart.length > decLen) return(false);
  else if (!isInt(intPart) || !isInt(decPart)) return (false);
  else if (isEmpty(decPart)) return (false);
  else return(true);
 }
}

http://www.gs008.com/blog/blogview.asp?logID=311

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics