常用简易JavaScript函数

  //函数名:strByteLength

  //功能介绍:返回字符串的字节长度

  //参数说明:str 要检查的字符串

  //返回值:字符串长度

  function strByteLength(str)

  {

  var i,sum;

  sum=0;

  for(i=0;i<str.length;i++)

  {

  if ((str.charCodeAt(i)>=0) & (str.charCodeAt(i)<=255))

  sum=sum+1;

  else

  sum=sum+2;

  }

  return sum;

  }

  //函数名:fucCheckLength

  //功能介绍:检查表单是否符合规定的长度

  //参数说明:obj 要检查的表单对象

  // name 对象名称

  // length 规定长度

  //返回值:true(符合) or false(不符)

  function fucCheckLength(obj , name , length)

  {

  var i,sum;

  sum=0;

  var strTemp = obj.value;

  for(i=0;i<strTemp.length;i++)

  {

  if ((strTemp.charCodeAt(i)>=0) & (strTemp.charCodeAt(i)<=255))

  sum=sum+1;

  else

  sum=sum+2;

  }

  if(sum<=length)

  {

  return true;

  }

  else

  {

  alert(name+"超出规定长度!最长允许"+length+"个字符(中文算2位)!");

  obj.focus();

  return false;

  }

  }

  //检测电子邮件是否合法

  function checkEmail(Object)

  {

  var pattern = /^[.-_A-Za-z0-9]+@([-_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;

  var strValue=Object.value;

  if(strValue.match(pattern)==null){

  alert("Email不合法,请重新填写!");

  Object.focus();

  return false;

  }else{

  return true;

  }

  }

  //去空隔函数

  function Jtrim(str){

  var i = 0;

  var len = str.length;

  if ( str == "" ) return( str );

  j = len -1;

  flagbegin = true;

  flagend = true;

  while ( flagbegin == true & i< len){

  if ( str.charAt(i) == " " ){

  i=i+1;

  flagbegin=true;

  }else{

  flagbegin=false;

  }

  }

  while (flagend== true & j>=0){

  if (str.charAt(j)==" "){

  j=j-1;

  flagend=true;

  }else{

  flagend=false;

  }

  }

  if ( i > j ) return ("")

  trimstr = str.substring(i,j+1);

  return trimstr;

  }

  //函数名:JtrimCn

  //功能介绍:去掉字符串前后的空格[包括中文空格]

  //参数说明:str 要操作的字符串

  //返回值:删除了前后空格[包括中文空格]的字符串

  function JtrimCn(str){

  var i = 0;

  if (str == null || str == undefined) {

  return "";

  }

  var len = str.length;

  if ( str == "" ) {

  return( str );

  }

  j = len -1;

  flagbegin = true;

  flagend = true;

  while ( flagbegin == true & i< len){

  if ( str.charAt(i) == " " || str.charAt(i) == " " ){

  i=i+1;

  flagbegin=true;

  }else{

  flagbegin=false;

  }

  }

  while (flagend== true & j>=0){

  if (str.charAt(j)==" " || str.charAt(j) == " "){

  j=j-1;

  flagend=true;

  }else{

  flagend=false;

  }

  }

  if ( i > j ) {

  return ("")

  }

  var trimstr = str.substring(i,j+1);

  return trimstr;

  }

  //0-9,A-Z,a-z规范字符判断

  function isChar(Str){

  var regu = "^([0-9a-zA-Z]+)$";

  var re = new RegExp(regu);

  if (Str.search(re) != -1){

  return true;

  }

  return false;

  }

  //判断是否数字

  function IsNum(Str){

  var regu = "^([0-9]+)$";

  var re = new RegExp(regu);

  if (Str.search(re) != -1)

  return true;

  {

  return false;

  }

  }

  //函数名:funcIsNotEmpty

  //功能介绍:检查字符串是否为空

  //参数说明:str 字符串

  //返回值:true:不为空 false:为空

  function funcIsNotEmpty(str){

  var s = /\S/;

  if(str==null){

  return false;

  }

  return s.test(str);

  }

  //函数名:fucCheckLength

  //功能介绍:检查表单是否符合规定的长度

  //参数说明:objValue 要检查的表单对象的数值

  // name 对象名称

  // minLen 最小长度

  // maxLen 最大长度

  //返回值:true(符合) or false(不符)

  function fucCheckLengthB(objValue , minLen , maxLen)

  {

  var i,sum;

  sum=0;

  var strTemp = objValue;

  for(i=0;i<strTemp.length;i++)

  {

  if ((strTemp.charCodeAt(i)>=0) & (strTemp.charCodeAt(i)<=255))

  sum=sum+1;

  else

  sum=sum+2;

  }

  if(sum<=maxLen & sum >= minLen)

  {

  return true;

  }

  else

  {

  return false;

  }

  }

  //sDate1和sDate2是2002-12-18格式

  function funDateDiff(sDate1, sDate2){

  var aDate, oDate1, oDate2, iDays ;

  aDate = sDate1.split("-") ;

  //转换为12-18-2002格式

  oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);

  aDate = sDate2.split("-") ;

  oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) ;

  //把相差的毫秒数转换为天数

  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24);

  //如果开始时间小于结束时间

  if (sDate1 > sDate2)

  {

  return (-1 * iDays);

  }

  return iDays;

  }

  //检测电子邮件是否合法

  function funcCheckEmail(strValue)

  {

  var pattern = /^[.-_A-Za-z0-9]+@([-_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;

  if(strValue.match(pattern)==null){

  return false;

  }else{

  return true;

  }

  }

  //函数名:fucCheckMaxLength

  //功能介绍:检查表单是否符合规定的长度

  //参数说明:objValue 要检查的表单对象的数值

  // name 对象数值

  // maxLen 最大长度

  //返回值:true(符合) or false(不符)

  function fucCheckMaxLength(objValue , maxLen)

  {

  return fucCheckLengthB(objValue, 0 ,maxLen );

  }

  //函数名:fucCheckMaxLength

  //功能介绍:检查指定对象的数值是否符合规定的长度

  //参数说明:objValue 要检查的表单对象的数值

  // name 对象

  // maxLen 最大长度

  //返回值:true(符合) or false(不符)

  function fucCheckObjMaxLength(obj , maxLen)

  {

  if (obj == null) {

  return false;

  }

  return fucCheckLengthB(obj.value, 0 ,maxLen );

  }

  //函数名:funcCheckInvalidChar

  //功能介绍:判断指定的字段是否有非法字符<>

  //参数说明:obj 要检查的表单对象

  //返回值:true(没有) or false(有)

  function funcCheckInvalidChar(obj)

  {

  if (obj == null || obj.value== "")

  {

  return true;

  }

  //alert(obj.value);

  var pattern = /[<>]/;

  if(pattern.test(obj.value)){

  return false;

  }else{

  return true;

  }

  }

  /**

  * 判断指定的ID的对象的最大长度是否正确

  * param: objId 对象ID

  * maxLength 最大长度

  * return: true 正确 , false 不正确

  */

  function lengthMaxCheckMsg(objId, maxLength, objName ,needFocus, showMsg) {

  //个人信息check

  var obj = document.getElementById(objId);

  if (!fucCheckObjMaxLength(obj, maxLength)) {

  if (showMsg == null || showMsg== "") {

  alert(objName + "最多只能输入" + (maxLength/2) + "个汉字(或" + maxLength + "个英文数字)");

  } else {

  alert(showMsg);

  }

  if (needFocus) {

  obj.focus();

  }

  return false;

  }

  return true;

  }

  /**

  * 判断指定的ID的对象的是否包含非法字符

  * param: objId 对象ID

  * objName 对象的名称

  * needFocus 是否需要设焦点

  * showMsg 显示的错误消息

  * return: true 正确 , false 不正确

  */

  function invalidCharCheckMsg(objId, objName,needFocus, showMsg) {

  //个人信息check

  var obj = document.getElementById(objId);

  if (!funcCheckInvalidChar(obj)) {

  if (showMsg == null || showMsg== "") {

  alert(objName + '中不能含有“<”或“>”');

  } else {

  alert(showMsg);

  }

  if (needFocus) {

  obj.focus();

  }

  return false;

  }

  return true;

  }

  /**

  * 判断指定的ID的对象是否为空

  * param: objId 对象ID

  * objName 对象的名称

  * needFocus 是否需要设焦点

  * showMsg 显示的错误消息

  * return: true 不为空 , false 为空

  */

  function emptyCheckMsg(objId, objName,needFocus, showMsg) {

  //个人信息check

  var obj = document.getElementById(objId);

  if (!funcIsNotEmpty(obj.value)) {

  if (showMsg == null || showMsg== "") {

  alert(objName + '不能为空!');

  } else {

  alert(showMsg);

  }

  if (needFocus) {

  obj.focus();

  }

  return false;

  }

  return true;

  }

  /*日期计算函数

  * date 2007-01-01

  * cnt 1 or -1

  * return 2007-01-02

  */

  function getDate(date , cnt){

  if(date.length!=10){

  return "";

  }

  var dateArray = date.split("-")

  if(dateArray==null){

  return "";

  }

  var temDate = new Date(dateArray[0], dateArray[1]-1, dateArray[2]);

  var newDate = Date.UTC(temDate.getYear(),temDate.getMonth(),temDate.getDate())

  newDate = newDate + (cnt*24*60*60*1000);

  newDate = new Date(newDate);

  var month = newDate.getMonth()+1;

  var day = newDate.getDate();

  if(Number(month)<10)

  month = "0"+month;

  if(Number(day)<10)

  day = "0"+day;

  var retDate = newDate.getYear() + "-" + month + "-" + day;

  return retDate;

  }