`
ootabc
  • 浏览: 110800 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

js文件

    博客分类:
  • js
阅读更多
/*********************************************************************************
*    FUNCTION:        jsGBLen
*    PARAMETER:        str    AS String
*    RETURNS:        获取一个字符串的字节长度
**********************************************************************************/
 function jsGBLen(str)
 {
  var tempI,curChar,gblen
  gblen = 0
  if((str != null)&&(str != ""))
  {
   for(tempI=0;tempI<str.length;tempI++)
   {
    curChar = str.charCodeAt(tempI)
    if(curChar > 255)
     gblen = gblen + 2
    else
     gblen = gblen + 1
   }
  }
  return gblen
 }

/*********************************************************************************
*    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<theStr.length; i++) {
            if (isDigit(theStr.substring(i,i+1)) == false) {
                flag = false; break;
            }
        }
    }
    return(flag);
}

/*********************************************************************************
*    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<moreDate
*********************************************************************************/
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:        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);
    }
}


/*********************************************************************************
*    FUNCTION:        isEmail
*    PARAMETER:        String (Email Address)
*    RETURNS:        TRUE if the String is a valid Email address
*                    FALSE if the passed string is not a valid Email Address
*    EMAIL FORMAT:    AnyName@EmailServer e.g; webmaster@hotmail.com
*                    @ sign can appear only once in the email address.
*********************************************************************************/
function isEmail (theStr) {
 var atIndex = theStr.indexOf('@');
    var dotIndex = theStr.indexOf('.', atIndex);
    var flag = true;
    theSub = theStr.substring(0, dotIndex+1)

    if ((atIndex < 1)||(atIndex != theStr.lastIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) 
    {    return(false); }
    else { return(true); }
}

/*********************************************************************************
*    FUNCTION:        newWindow
*    PARAMETERS:        doc         ->    Document to open in the new window
                    hite     ->    Height of the new window
                    wide     ->    Width of the new window
                    bars    ->    1-Scroll bars = YES 0-Scroll Bars = NO
                    resize     ->    1-Resizable = YES 0-Resizable = NO
*    CALLS:            NONE
*    RETURNS:        New window instance
**********************************************************************************/
function newWindow (doc, hite, wide, bars, resize) {
    var winNew="_blank";
    var opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";
    opt+=("scrollbars="+bars+",");
    opt+=("resizable="+resize+",");
    opt+=("width="+wide+",");
    opt+=("height="+hite);
    winHandle=window.open(doc,winNew,opt);
    return;
}

/*********************************************************************************
*    FUNCTION:        DecimalFormat
*    PARAMETERS:        paramValue -> Field value
*    CALLS:                NONE
*    RETURNS:        Formated string
**********************************************************************************/
function DecimalFormat (paramValue) {
    var intPart = parseInt(paramValue);
    var decPart =parseFloat(paramValue) - intPart;

    str = "";
    if ((decPart == 0) || (decPart == null)) str += (intPart + ".00");
    else str += (intPart + decPart);
    
    return (str);
}



/*********************************************************************************
*    EO_JSLib.js
*   javascript正则表达式检验
**********************************************************************************/


//校验是否全由数字组成
function isDigit(s)
{
    var patrn=/^[0-9]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
}


//校验是否全由数字组成(1-28位)
function isDigit28(s)
{
    var patrn=/^[0-9]{1,28}$/;
    if (!patrn.exec(s)) return false
    return true
}


//校验字符串:只能输入1-100个以字母开头、可带数字、“_”、“.”的字串
function isValidString(s)
{
    var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){1,100}$/;
    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;
 }
 if (s.substring(0,2).toLowerCase()=="ad" || s.substring(0,2).toLowerCase()=="ln")
 {
  return false;
 }
    return true;
}


//校验管理用户登录名:只能输入1-10个以字母开头、可带数字、“_”、“.”的字串

function isAdminUserName(s)
{
    var patrn=/^[a-zA-Z0-9]{1}([a-zA-Z0-9]|[._]){0,9}$/;
    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
}


//校验密码:只能输入5-10个字母、数字、下划线
function isPasswd(s)
{
    var patrn=/^(\w){4,10}$/;
    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=/^[0-9]{3,9}$/;
    if (!patrn.exec(s)) return false
    return true
}



//校验身份证号
function isIDCard(s)
{
    var patrn=/^[0-9]{1}([a-zA-Z0-9 ]){14,19}$/;
    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 need_input(sForm)//通用文本域校验 by l_dragon
{
    for(i=0;i<sForm.length;i++)
    {  
     if(sForm[i].tagName.toUpperCase()=="INPUT" &&sForm[i].type.toUpperCase()=="TEXT" && (sForm[i].title!=""))
     
          if(sForm[i].value=="")//
          {
          sWarn=sForm[i].title+"不能为空!";
          alert(sWarn);
          sForm[i].focus();
          return false;
         }
   }
return true;
}


function showCal(obj)
{
    if (!obj) var obj = event.srcElement;
    var obDate;
    if ( obj.value == "" ) {
        obDate = new Date();
    } else {
        var obList = obj.value.split( "-" );
        obDate = new Date( obList[0], obList[1]-1, obList[2] );
    }

    var retVal = showModalDialog( "../common/calendar/calendar.jsp", obDate,
        "dialogWidth=206px; dialogHeight=206px; help=no; scroll=no; status=no; " );

    if ( typeof(retVal) != "undefined" ) {
        var year = retVal.getFullYear();
        var month = retVal.getMonth()+1;
        var day = retVal.getDate();
  if (month<10 && month.length==1)
  {
   month = "0"+month;
  }
  if (day<10 && day.length==1)
  {
   day = "0"+day;
  }
        obj.value =year + "-" + month + "-" + day;
    }
}
function checkDate(obj)
{
  if (!obj) var obj = event.srcElement;
    if ( obj.value == "" ) {
      
    }
 else
 {
  var thisDate = obj.value;
  if (!isDate (thisDate))
  {
   alert("请输入正确的日期!格式为 YYYY-MM-DD");
   event.srcElement.focus()
  }else
  {
    var the1st = thisDate.indexOf('-');
    var the2nd = thisDate.lastIndexOf('-');
    
   var year = thisDate.substring(0,the1st);
   var month = thisDate.substring(the1st+1,the2nd);
   var day = thisDate.substring(the2nd+1,thisDate.length);
   
   if (month<10 && month.length==1)
   {
    month = "0"+month;
   }
   if (day<10 && day.length==1)
   {
    day = "0"+day;
   }
   obj.value =year + "-" + month + "-" + day; 
  }
 }
}


分享到:
评论

相关推荐

    动态加载外部JS文件

    在给定的文件列表中,我们看到几个JavaScript文件(a.js、b.js、c.js、js4inc.js)和一个HTML文件(IncldueJsFile_Example.html)。这个例子可能是展示如何根据需要动态加载这些脚本。 例如,假设`IncldueJsFile_...

    js文件编辑器

    "min.js"是经过压缩和优化后的JavaScript文件,目的是减小文件大小,加快页面加载速度。XHEditor提供了一套完整的API,开发者可以通过这些API定制编辑器的功能,如插入图片、链接、表格等,以满足不同项目的需求。 ...

    将一个vue文件编译成js文件的工具

    Webpack会遍历项目中的所有`.vue`文件,应用相应的加载器和插件,最终生成一个或多个优化过的JavaScript文件。这些文件包含了Vue组件的实例化和渲染逻辑,可供浏览器执行。 7. **优化技巧**: - 使用懒加载(lazy ...

    js文件压缩成gzjs格式的方法和工具

    这将创建一个名为`script.js.gz`的新文件,这就是你的gzjs格式的JavaScript文件。 3. **浏览器支持**:虽然现代浏览器普遍支持自动解压Gzipped内容,但为了确保兼容性,服务器端需要设置HTTP头信息,告知浏览器...

    百度地图全国城市坐标经纬度js文件

    标题中的"百度地图全国城市坐标经纬度js文件"指的是两个JavaScript文件,MapCityDataHasXpath.js 和 MapCityDataNoXpath.js,它们包含了中国全国各地城市的经纬度坐标数据。这些数据对于实现基于百度地图的应用,如...

    javascript函数动态加载javascript文件

    动态加载JavaScript文件的基本原理是利用`&lt;script&gt;`标签的异步加载特性或者使用`XMLHttpRequest`或`fetch` API来创建HTTP请求获取JS文件。下面我们将深入探讨这两种方法: 1. **使用`&lt;script&gt;`标签**: 在HTML中,...

    echarts全国、地市、区县地图js文件

    在这个"echarts全国、地市、区县地图js文件"的资源中,包含的是ECharts用于绘制中国全国范围内的省份、地级市以及区县地图的JavaScript文件。 在ECharts中,地图图表是一种特殊类型的图表,可以用来展示地理位置上...

    关于润乾报表超链接调用js文件实现可交互

    2. **编写JavaScript文件**:在`path/to/your/jsfile.js`中编写你需要执行的JavaScript代码。这部分代码可以实现各种复杂的逻辑,比如弹出对话框、更新报表数据、进行页面跳转等。确保你的js文件遵循良好的编程规范...

    JS文件格式化工具

    JavaScript文件格式化工具是开发人员在处理代码时不可或缺的一个实用工具。它主要用于将压缩或混乱的JavaScript代码恢复成可读性更强、遵循特定编码规范的形式。这类工具的主要目的是提高代码的可维护性和团队协作...

    javascript文件中获取当前文件路径

    在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径

    mui开发js文件与css文件

    本文将详细探讨MUI中的JavaScript文件与CSS文件如何协同工作,以实现强大的功能和美观的界面。 一、MUI的JS文件 MUI的JavaScript文件主要负责交互逻辑和组件的动态行为。这些文件通常包括基础库、组件库以及特定...

    React的三个js文件

    下面我们将详细探讨这三个JavaScript文件以及它们在React开发中的作用。 1. **Babel.min.js** Babel是一个广泛使用的JavaScript编译器,它的主要功能是将ES6+(ECMAScript 2015及以后版本)的语法转换为ES5,以便...

    excel导出js文件.rar

    总结来说,"excel导出js文件.rar"中的两个JavaScript文件主要涉及HTML表格到Excel的导出功能,以及JavaScript处理Excel文件的核心能力。开发者可以借助这些工具,轻松实现网页上数据的导入导出,提升数据管理和分析...

    河南省个市区js文件

    这些文件将共同构成一个完整的地图应用,其中JavaScript文件负责逻辑处理,地理信息数据文件用于绘制地图,样式表文件定义界面样式,而图像资源则可能用于标记、图标或其他视觉元素。 为了实现这样的项目,开发者...

    福建地图js文件,亲测可用

    福建地图js文件是一种基于JavaScript编程语言的资源,用于在网页上展示福建省的地图信息。JavaScript是Web开发中的核心技术,常用于实现动态交互效果和处理用户输入。在这个特定的场景中,`fujian.js` 文件很可能...

    echarts 全国各城市js文件

    在这个案例中,描述中提到的“不是json”,可能意味着这个js文件不是通常意义上的JSON数据文件,而是一个包含了预定义的城市坐标信息和对应的地图形状数据的JavaScript源代码文件。这种文件通常会包含一系列城市的...

    js文件.zip

    在这个"js文件.zip"压缩包中,包含了两个JavaScript文件:protobuf.js和pbj.js,它们与protobuf协议在JavaScript环境中的应用密切相关。 首先,protobuf.js是一个JavaScript库,它实现了protobuf编解码功能,使得...

    山东省JS文件,山东省JS文件,可用于echarts画图

    山东省JS文件

    React所需的三个js文件3--babel.min.js.zip

    在React的应用开发中,有三个关键的JavaScript文件通常会被用到:`react.js`、`react-dom.js`和`babel.min.js`。在这个场景中,我们只提到了`babel.min.js`,它是React开发中的一个重要组成部分。 `babel.min.js`是...

    china.js 中国及各地js 文件压缩包

    "china.js 中国及各地js 文件压缩包" 是一个专门针对中国地图数据和ECharts图表库的JavaScript资源集合。这个压缩包包含的核心组件是`china.js`,这可能是一个定制的JavaScript库,用于处理和展示中国地理信息,尤其...

Global site tag (gtag.js) - Google Analytics