Javascript中的必需判断

Javascript中的必需判断

先来介绍下substr(start,length方法

用法:可在字符串中抽取从 start 下标开始的指定数目的字符。

参数

描述

start

必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length

可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾

注释:substr() 的参数指定的是子串的开始位置长度,因此它可以替代 substring() 和 splice() 来使用。

实用:判断一个字符串是否全是数字,下面方法就很好的采用了substr() 方法,用substr(i,1)对该字符串中的字符一个一个的进行判断。 

例子:首先对一个字符进行判断是否是数字,然后再用substr(i,1)方法对一串字符串中的每一个字符进行判断。

/*判断数字字符 c 返回 true/false */

function isnumber(c) {

    if (c >= '0' && c <= '99') {

        return true;

    } else {

        return false;

    }

}

/*判断是否是数字(int型)s   返回 true/false */

function checkint(s) {

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

        return false;

    }

    for (var i = 0; i < s.length; i++){

        n = s.substr(i, 1);

        if (!(isnumber(n))) {

            return false;

        }

    }

    return true;

}

/*****************************************

下面是全部

*****************************************/

//根据传入的id列表,如果第二个参数为null,根据实际情况显示或删除指定的id。

function showOrHide(array, isShow) {

    for (var i = 0; i < array.length; i++) {

        showOrHideOne(array[i], isShow);

    }

}

//根据传入的id,如果第二个参数为null,根据实际情况显示或删除指定的id。

function showOrHideOne(id, isShow) {

    var obj = document.all(id);

    if (obj == null)

        return;

    if (isShow == null)

        isShow = obj.style.display == 'none';

    obj.style.display = isShow ? '' : 'none';

}

//得到一个str,是被选中的value,逗号分隔

function getSelectResultOne(checkBox) {

    var needAddStr = "";

    var newSelectStr = getSelectStr(checkBox);

    for (var i = 0; i < newSelectStr.length; i++) {

        var value = checkBox[i].value;

        if (newSelectStr.charAt(i) == '1') {

            needAddStr += needAddStr.length == 0 ? value : ',' + value;

        }

    }

    return needAddStr;

}

//得到两个str,第一个是需要删除的value,第二个需要添加的value,都是逗号分隔

function getSelectResult(checkBox, oldSelectStr) {

    var needDeleteStr = "";

    var needAddStr = "";

    var newSelectStr = getSelectStr(checkBox);

    for (var i = 0; i < newSelectStr.length; i++) {

        var temp = newSelectStr.charAt(i);

        if (temp != oldSelectStr.charAt(i)) {

            var value = checkBox[i].value;

            if (temp == '0') {

                needDeleteStr += needDeleteStr.length == 0 ? value : ',' + value;

            } else {

                needAddStr += needAddStr.length == 0 ? value : ',' + value;

            }

        }

    }

    return new Array(needDeleteStr, needAddStr);

}

//计算某个checkbox对象的字符串,选中的记1,没被选中的记0。

function getSelectStr(checkBox) {

    var str = "";

    for (var i = 0; i < checkBox.length; i++) {

        if (checkBox[i].checked)

            str += '1';

        else

            str += '0';

    }

    return str;

}

//全选某个checkBox

function checkBoxSelect(Obj) {

    for (var i = 0; i < Obj.length; i++)

        Obj[i].checked = true;

}

//清除某个checkBox

function checkBoxClear(Obj) {

    for (var i = 0; i < Obj.length; i++)

        Obj[i].checked = false;

}

//选中某个特定value的select对象的

function selectSelect(selectObj, selectValue) {

    for (var i = 0; i < selectObj.options.length; i++) {

        selectObj.options[i].selected = false;

        if (selectObj.options[i].value == selectValue) {

            selectObj.options[i].selected = true;

        }

    }

}

//清空某一个select对象中的所有属性

function clearSelect(selectObj) {

    for (var i = selectObj.options.length - 1; i > -1; i--)

        selectObj.options[i] = null;

}

/**

 * 得到String的长度

 */

function lench(ch) {

    return getLength(ch);

}

/**

 * 得到String的长度

 */

function getLength(str) {

    var length = 0

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

        if (str.charCodeAt(i) > 127)

            length += 2;

        else

            length++;

    }

    return length;

}

/**

 *转向到想去的页面

 *display 为想转向到的页面

 */

function returnFunction(display) {

    window.document.location = display;

}

/**

 *转向到帮助页面

 *display 为帮助页面

 */

function help(display) {

    window.document.location = display;

}

/*判断空字符

s   字符   in

返回 true/false

*/

function IsBlank(s) {

    var i = 0;

    while (i < s.length) {

        if (s.charAt(i) != " ")

            return false;

        i++;

    }

    return true;

}

/*判断数字字符

c   数字字符   in

返回 true/false

*/

function isnumber(c) {

    if (c >= '0' && c <= '99') {

        return true;

    } else {

        return false;

    }

}

/*判断英文字符

c   英文字符   in

返回 true/false

*/

function ischar(c) {

    if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))

        return true;

    else

        return false;

}

/*判断是否是数字(int型)

s   数字字串   in

返回 true/false

*/

function checkint(s) {

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

        return false;

    }

    for (var i = 0; i < s.length; i++){

        n = s.substr(i, 1);

        if (!(isnumber(n))) {

            return false;

        }

    }

    return true;

}

/*判断用户名是否合法只能包括数字,字母,和下划线

  */

function checkUserId(s) {

    for (i = 0; i < s.length; i++) {

        n = s.substr(i,1);

        if ( !(isnumber(n))&&!(ischar(n))&&(n!='_'))

            return false;

    }

    return true;

}

/*判断是否是数字(float型)

s   数字字串   in

返回 true/false

*/

function checknumber(s) {

    var nAtNum;

    nAtNum = 0;

    var negativePos;

    negativePos = 0

    if(s == null) {

        s = "";

    }

    for (xunhuanI = 0; xunhuanI < s.length; xunhuanI++) {

            n = s.substr(xunhuanI, 1)

            if (n == '-')

                negativePos = xunhuanI;

            if (n == '.')

                nAtNum = nAtNum + 1;

            if (!(isnumber(n) || n == '.'|| n == '-')) {

                return false;

            }

    }

    if (negativePos != 0 || nAtNum > 1) {

        return false;

    } else {

        return true;

    }

}

/*判断是否是时间(time型)

s   字串   in

返回 true/false

*/

function checktime(s) {

    var nAtPos;

    nAtPos = 50000;

    for (var i = 0; i<s.length; i++) {

        n = s.substr(i, 1)

        if (!(isnumber(n)||n==':')) {

            return false;

        }

        if ( n == ':') {

            nAtPos = i;

        }

    }

    if (nAtPos == 0) {

        return false;

    } else {

        return true;

    }

}

/*判断email的有效性

s  email字串   in

返回 true/false

*/

function checkemail(s) {

    var nAtPos;

    nAtPos = 0;

    for (var i = 0; i<s.length; i++) {

        n = s.substr(i, 1)

        if (!(isnumber(n)||ischar(n)||n=='_'||n=='.'||n=='@'||n=='-')) {

            return false;

        }

        if ( n == '@') {

            nAtPos = i;

        }

    }

    if ((nAtPos == 0) || (nAtPos == s.length-1)) {

        return false;

    } else {

        return true;

    }

}

/*判断年份的有效性

year  年份   in

返回 true/false

*/

function checkyear(year) {

   if (parseFloat(year)<1900||parseFloat(year)>3000)

      return false;

   else

      return true;

}

/*判断月份的有效性

month  月份   in

返回 true/false

*/

function checkmonth(month) {

   if ((parseFloat(month)<1)||(parseFloat(month)>12))

      return false;

   else

      return true;

}

/*判断日的有效性

day  日   in

返回 true/false

*/

function checkday(day) {

   if ((parseFloat(day)<1)||(parseFloat(day)>31))

      return false;

   else

      return true;

}

/*判断日期格式的有效性

s  日期   in

返回 true/false

*/

function checkdatevalid(s) {

    var n;

    for (var i = 0; i<s.length; i++) {

        n = s.substr(i, 1)

        if (!(isnumber(n)||n=='-')) {

            return false;

        }

    }

    return true;

}

/*判断日期的有效性

yearStr  年   in

monthStr 月   in

dayStr   日   in

返回 true/false

*/

function validateDay(yearStr, monthStr, dayStr) {

    var yearInt = parseFloat(yearStr);

    var monthInt = parseFloat(monthStr) - 1;

    var dayInt = parseFloat(dayStr);

    if (monthInt > 11) {

        return false;

    }

    if (yearInt < 1900) {

        return false;

    }

    var monthDays = new Array(12)

    monthDays[0] = 31;

    monthDays[1] = 28;

    monthDays[2] = 31;

    monthDays[3] = 30;

    monthDays[4] = 31;

    monthDays[5] = 30;

    monthDays[6] = 31;

    monthDays[7] = 31;

    monthDays[8] = 30;

    monthDays[9] = 31;

    monthDays[10] = 30;

    monthDays[11] = 31;

    if (yearInt % 100 == 0) {

        if (yearInt % 400 == 0) {

            monthDays[1] = 29;

        }

    } else {

        if (yearInt % 4 == 0) {

            monthDays[1] = 29;

        }

    }

    if (dayInt > monthDays[monthInt]) {

        return false;

    }

    return true;

}

/*判断日期的有效性

date1  日期   in

返回 true/false

日期格式为2001-05-05

*/

function validateDay2(date1) {

    var i = 0;

    var b_year="-1";

    var b_month="-1";

    var b_day="-1";

    if (!checkdatevalid(date1)) {

        alert("请正确填写日期格式,例如2001-05-05!");

        return false;

    }

    i = date1.indexOf("-");

    if (i != -1) {

        b_year = date1.substring(0,i);

        date1=date1.substring(i+1);

    }

    i = date1.indexOf("-");

    if(i != -1) {

        b_month = date1.substring(0,i);

        b_day=date1.substring(i+1);

    }

    if (!checkyear(b_year)) {

        alert("年份不正确!");

        return false;

    }

    if (!checkmonth(b_month)) {

        alert("月份不正确!");

        return false;

    }

    if (!checkday(b_day)) {

        alert("日期不正确!");

        return false;

    }

    if (!validateDay(b_year,b_month,b_day)) {

        alert("请正确填写日期,输入的日期不存在!");

        return false;

    }

    return true;

}

/*比较两个日期的先后

date1  日期一   in

date2  日期二   in

返回 true/false

日期格式为2001-05-05

日期一比日期二大返回true

*/

function checkdate(date1,date2) {

    var i = 0;

    var b_year="-1";

    var b_month="-1";

    var b_day="-1";

    var b_year2="-1";

    var b_month2="-1";

    var b_day2="-1";

    if (!checkdatevalid(date1)) {

        alert("请正确填写日期格式,例如2001-05-05!");

        return false;

    }

    if (!checkdatevalid(date2)) {

        alert("请正确填写日期格式,例如2001-05-05!");

        return false;

    }

    i = date1.indexOf("-");

    if (i != -1) {

        b_year = date1.substring(0,i);

        date1=date1.substring(i+1);

    }

    i = date1.indexOf("-");

    if(i != -1) {

        b_month = date1.substring(0,i);

        b_day=date1.substring(i+1);

    }

    if (!checkyear(b_year)) {

        alert("年份不正确!");

        return false;

    }

    if (!checkmonth(b_month)) {

        alert("月份不正确!");

        return false

posted @ 2009-12-14 00:35  梅子  阅读(385)  评论(0)    收藏  举报