前端正则表达式验证

/*******************************************
验证用法:如下
$.Validation("123@qq.com", 1)
$.Length("阿斯蒂芬",8)
*******************************************/

(function ($) {
    $.extend({
        Validation: function (strs, chkType) {//strs需要验证的字符串,chkType验证方式(基于regArr数组)
            var reg = /^\w+([-\.]\w+)*@\w+([\.-]\w+)*\.\w{2,4}$/; //邮箱(默认)
            switch (chkType) {
                case 1: reg = /^\w+([-\.]\w+)*@\w+([\.-]\w+)*\.\w{2,4}$/; break;  //邮箱
                case 2: reg = /^[0-9]+\.{0,1}[0-9]{0,2}$/; break; //整数或者小数
                case 3: reg = /^[0-9]*$/; break; //只能输入数字
                case 4: reg = /^\+?[1-9][0-9]*$/; break;  //只能输入非零的正整数
                case 5: reg = /^[0-9]+(.[0-9]{2})?$/; break; //只能输入有两位小数的正实数
                case 6: reg = /^[A-Za-z]+$/; break; //只能输入由26个英文字母组成的字符串
                case 7: reg = /^[A-Z]+$/; break;  //只能输入由26个大写英文字母组成的字符串
                case 8: reg = /^[a-z]+$/; break; //只能输入由26个小写英文字母组成的字符串
                case 9: reg = /^[A-Za-z0-9]+$/; break; //只能输入由数字和26个英文字母组成的字符串
                case 10: reg = /^\w+$/; break; //只能输入由数字、26个英文字母或者下划线组成的字符串
                case 11: reg = /^[a-zA-Z]\w{5,17}$/; break;  //以字母开头,长度在6~18之间,只能包含字符、数字和下划线
                case 12: reg = /[^%&,;=?$\\x22]+/; break;  //验证是否含有^%&,;=?$\"等字符
                case 13: reg = /^[\u4e00-\u9fa5]{0,}$/; break; //只能输入汉字
                case 14: reg = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+\..+$/; break; //检验网址 http://www.baidu.com
                case 15: reg = /^(0[0-9]{2})-\d{8}$|^(0[0-9]{3}-(\d{7,8}))$/; break; //电话号码
                case 16: reg = /^([0-9]{11})?$/; break; //手机号
                case 17: reg = /^(\d{3,4}-)?\d{7,8}$/; break; //传真
                case 18: reg = /^\d{5,11}$/; break; //QQ
                case 19: reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; break; //MSN
                case 20: reg = /^\w+([-\.]\w+)*@(qq|sina|126|163)([\.-]\w+)*\.\w{2,4}$/; break; //企业邮箱
                case 21: reg = /^[0-9]{6}$/; break; //邮编
            }
            return reg.test(strs);
        },
        Length: function (strs, num) {//计算字符串的长度小于num返回true,反之false(一个双字节字符长度计2,ASCII字符计1)
            var strNum = strs.len();
            if (strNum > num) {
                return false;
            }
            return true;
        },
        cutString: function (strs, num) { //切割字符(汉字2个字符,数字字母1个字符)
            var strNum = strs.len();

            if (strNum > num) {
                var cutLength = 0; //字符串长度
                var charNum = 0;  //字符数量
                var strsArry = strs.split('');
                for (var i = 0; i < strsArry.length; i++) {
                    charNum += strsArry[i].len();
                    if (charNum > num) {
                        cutLength = i;
                        break;
                    }
                }
                return $.trim(strs).substring(0, cutLength);
            }
            return strs;
        }
    });
})(jQuery);

String.prototype.len = function () { return this.replace(/[^\x00-\xff]/g, "aa").length; }

 

posted @ 2015-04-20 14:13  苦逼的猿人  阅读(665)  评论(0编辑  收藏  举报