js正则表达式用法实例:验证邮箱格式、密码复杂度、手机号码、QQ号码

来源:互联网 发布:万宝瑞华人才管理 知乎 编辑:程序博客网 时间:2024/05/01 14:37
s正则表达式用法实例:验证邮箱格式、密码复杂度、手机号码、QQ号码没啥要描述的,直接上代码吧。其中引用了jquery~ 希望大家自行引用。只贴出验证部分代码,其余代码自行添加。如果属于初学者,请寻找有经验者指点。001<script type="text/javascript">002        $(function () {003            $("input[name='sub']").on("click", function () {004                if (!isEmail($("input[name='email']").val())) {005                    $("span[name='email']").html("邮箱格式错误");006                    return false;007                }008                else {009                    $("span[name='email']").html("");010                }011                if (checkStrong($("input[name='password']").val()) < 3) {012                    $("span[name='password']").html("密码太过简单");013                    return false;014                }015                else {016                    $("span[name='password']").html("");017                }018                if (!isQQ($.trim($("input[name='qq']").val()))) {019                    $("span[name='qq']").html("请输入正确的QQ号码");020                    return false;021                }022                else {023                    $("span[name='qq']").html("");024                }025                if (!isPhone($.trim($("input[name='mnumber']").val()))) {026                    $("span[name='mnumber']").html("请输入正确的手机号码");027                    return false;028                }029                else {030                    $("span[name='mnumber']").html("");031                }032                return true;033            });034        });035        /**036        * 检查字符串是否为合法QQ号码037        * @param {String} 字符串038        * @return {bool} 是否为合法QQ号码039        */040        function isQQ(aQQ) {041            var bValidate = RegExp(/^[1-9][0-9]{4,9}$/).test(aQQ);042            if (bValidate) {043                return true;044            }045            else046                return false;047        }048        /**049        * 检查字符串是否为合法手机号码050        * @param {String} 字符串051        * @return {bool} 是否为合法手机号码052        */053        function isPhone(aPhone) {054            var bValidate = RegExp(/^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57])[0-9]{8}$/).test(aPhone);055            if (bValidate) {056                return true;057            }058            else059                return false;060        }061        /**062        * 检查字符串是否为合法email地址063        * @param {String} 字符串064        * @return {bool} 是否为合法email地址065        */066        function isEmail(aEmail) {067            var bValidate = RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(aEmail);068            if (bValidate) {069                return true;070            }071            else072                return false;073        }074        /**075        * 检查字符串是否是整数076        * @param {String} 字符串077        * @return {bool} 是否是整数078        */079        function isInteger(s) {080            var isInteger = RegExp(/^[0-9]+$/);081            return (isInteger.test(s));082        }083        /*084            判断字符类型085        */086        function CharMode(iN) {087            if (iN >= 48 && iN <= 57) //数字 088                return 1;089            if (iN >= 65 && iN <= 90) //大写字母 090                return 2;091            if (iN >= 97 && iN <= 122) //小写 092                return 4;093            else094                return 8; //特殊字符 095        }096        /*097            统计字符类型098        */099        function bitTotal(num) {100            modes = 0;101            for (i = 0; i < 4; i++) {102                if (num & 1) modes++;103                num >>>= 1;104            }105            return modes;106        }107        /*108            返回密码的强度级别109        */110        function checkStrong(sPW) {111            if (sPW.length <= 4)112                return 0; //密码太短 113            Modes = 0;114            for (i = 0; i < sPW.length; i++) {115                //测试每一个字符的类别并统计一共有多少种模式. 116                Modes |= CharMode(sPW.charCodeAt(i));117            }118            return bitTotal(Modes);119        }120 121    </script>

0 0
原创粉丝点击