zoukankan      html  css  js  c++  java
  • 常用的js方法,包括表单校验的一些方法

    /** 
     * 对JSON对象转换为字符串. 
     * @param {json对象} json 
     * @return {json字符串} 
     */  
    function jsonObj2Str(json) {  
            var str = "{";  
            for (prop in json) {  
                    str += prop + ":" + json[prop] + ",";  
            }  
            str = str.substr(0, str.length - 1);  
            str += "}";   
            return str;  
    }  
      
    /** 
     * 将json字符串转换为json对象. 
     * @param {json字符串} jsonstr 
     * @return {json对象} 
     */  
    function jsonStr2Obj(jsonstr) {  
             return eval("("+jsonstr+")");  
    }  
      
    /** 
     * 得到一个元素的left坐标值. 
     * @param {dom对象} obj 
     * @return {位置值} 
     */  
    function getLeft(obj){   
            var offset=e.offsetLeft;   
            if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);   
            return offset;   
    }   
      
    /** 
     * 得到一个元素的绝对位置的top坐标值. 
     * @param {dom对象} obj 
     * @return {位置值} 
     */  
    function getTop(obj){   
            var offset=e.offsetTop;   
            if(e.offsetParent!=null) offset+=getTop(e.offsetParent);   
            return offset;   
    }   
      
    /** 
     * 删除一个字符串的左右空格. 
     * @param {原始字符串} str 
     * @return {删除空格之后的字符串} 
     */  
    function  trim(str)  
    {    
       return  str.replace(/(^s*)|(s*$)/g,"");    
    }  
      
    /** 
     * 根据id取出一个元素. 
     * @param {元素id值} str 
     * @return {dom对象} 
     */  
    function $(str) {  
            return document.getElementById(str);  
    }  
      
    /** 
     * 按name获取一个对象. 
     * @param {元素name值} str 
     * @return {根据name返回的第一个对象} 
     */  
    function $byName(str) {  
            var arr = document.getElementsByName(str);  
            if (arr)  
                    return arr[0];  
            else  
                    return null;  
    }  
      
    /***************以下方法和表单验证相关*************************************************/  
    /** 
     * 返回非空字符串,如果有默认值就返回默认字符串. 
     * @param {要进行转换的原字符串} str 
     * @param {默认值} defaultStr 
     * @return {返回结果} 
     */  
    function notNull(str, defaultStr) {  
            if (typeof(str) == "undefined" || str == null || str == '') {  
                    if (defaultStr)  
                            return defaultStr;  
                    else  
                            return '';  
            } else {  
                    return str;  
            }  
    }    
      
    /** 
     * 比较两个日期大小. 
     * @param {较小日期的文本框id} smallDate 
     * @param {较大日期的文本框id} bigDate 
     * @param {出错的提示信息} msg 
     */  
    function compareTwoDate(smallDate, bigDate, msg) {  
            var v1 = $(smallDate).value;  
            var v2 = $(bigDate).value;  
            if (v1 >= v2) {  
                    alert(msg);  
                                    v2.focus();  
                    return false;  
            }  
            return true;  
    }  
      
    /** 
     * 比较两个金额大小的方法. 
     * @param {较小的金额} smallNum 
     * @param {较大的金额} bigNum 
     * @param {出错提示信息} msg 
     * @return {Boolean} 
     */  
    function compareTwoNum(smallNum, bigNum, msg) {  
            var v1 = $(smallNum).value;  
            var v2 = $(bigNum).value;   
            if (parseFloat(v1) >= parseFloat(v2)) {  
                    alert(msg);  
                                    v2.focus();  
                    return false;  
            }  
            return true;  
    }  
      
    /** 
     * 检查文本框的长度是否超出指定长度. 
     * @param {文本id} textId 
     * @param {文本框的最大长度} len 
     * @param {文本框描述内容} msg 
     * @return {有错就返回false,否则返回true} 
     */  
    function checkLength(textId, len, msg) {  
            obj = $(textId);  
            str = obj.value;  
            str = str.replace(/[^x00-xff]/g, "**");  
            realLen = str.length;  
            if (realLen > len) {  
                    alert("[" + msg + "]" + "长度最大为" + len + "位," + "请重新输入!
    注意:一个汉字占2位。");  
                    obj.focus();  
                    return false;  
            } else  
                    return true;  
    }  
      
    /** 
     * 判断某个文本框不可以为空. 
     * @param {文本框id} textId 
     * @param {文本框描述内容} msg 
     * @return {有错就返回false,否则返回true} 
     */  
    function checkIfEmpty(textId, msg) {  
            var textObj = $(textId);  
            var textValue = textObj.value;  
            if (trim(textValue) == '') {  
                    alert('[' + msg + ']不得为空!');  
                    textObj.focus();  
                    return false;  
            } else {  
                    return true;  
            }  
    }  
      
    /** 
     * 判断指定文本框内容必须为邮件. 
     * @param {文本框id} textId 
     * @param {文本框描述} msg 
     * @return {如果是邮件内容就返回true否则返回false} 
     */  
    function checkIsMail(textId, msg) {  
            var obj = $(textId);  
            if (!_isEmail(obj.value)) {  
                    alert('[' + msg + ']不是合法的邮件地址!');  
                    obj.focus();  
                    return false;  
            } else  
                    return true;  
    }  
      
    /** 
     * 验证是不是邮件. 
     * @param {要验证的字符串} strEmail 
     * @return {Boolean} 
     */  
    function _isEmail(strEmail) {  
            //接下来的验证是否有两个以上的‘.’号,有的话就是错的!  
            var first = strEmail.indexOf('.');    
            if (strEmail.indexOf('@')== -1) {  
                    return false;  
            }  
            var tempStr = strEmail.substring(first + 1);  
             if (tempStr.indexOf('.') != -1) {  
                    return false;  
            }  
            if (strEmail  
                            .search(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/) != -1) {  
                    return true;  
            } else  
                    return false;  
    }  
      
    /** 
     * 判断某个文本框是否数字. 
     * @param {文本框id} textId 
     * @param {文本框描述内容} msg 
     * @return {Boolean} 
     */  
    function checkIsNum(textId, msg) {  
            obj = $(textId);  
            if (isNaN(obj.value)) {  
                    alert('[' + msg + ']必须为数字。');  
                    obj.focus();  
                    return false;  
            } else  
                    return true;  
    }  
      
    /** 
     * 判断某个文本框是否含有非法字符. 
     * @param {文本框的id} textId 
     * @param {文本框描述内容} msg 
     * @return {有错就返回false否则返回true} 
     */  
    function checkIsValid(textId, msg) {  
            obj = $(textId);  
            if (!_isValidString(obj.value, '[' + msg + ']不得含有非法字符。')) {  
                    obj.focus();  
                    return false;  
            }  
            return true;  
    }  
      
    /** 
     * 判断是不是合法字符串. 
     * @param {要进行判断的字符串} szStr 
     * @param {文本描述} errMsg  
     * @return {合法则返回true否则返回false} 
     */  
    function _isValidString(szStr,errMsg) {  
            voidChar = "'"><`~!@#$%^&()()!¥……??“”‘’*";  
            for (var i = 0; i < voidChar.length; i++) {  
                    aChar = voidChar.substring(i, i + 1);  
                    if (szStr.indexOf(aChar) > -1){  
                            alert(errMsg)  
                            return false;  
                    }  
            }  
            return true;  
    }   
      
    

      

  • 相关阅读:
    Asp.Net Web API 2第八课——Web API 2中的属性路由
    Asp.Net Web API 2第七课——Web API异常处理
    Asp.Net Web API 2第六课——Web API路由和动作选择
    Asp.Net Web API 2第五课——Web API路由
    开始学习python
    BMI 小程序 购物车
    深浅copy 文件操作
    字典 dict 集合set
    基本数据类型 (str,int,bool,tuple,)
    python 运算符
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6257584.html
Copyright © 2011-2022 走看看