正则表达式

1.定义
由普通字符和特殊字符构成的文字模式,该文字模式是用来检测当前字符串是否符合你的这套文字模式,是一种强大的字符串匹配工具,如输入验证等场景;
2.正则表达式的构成:
a 元字符
i 不区分大小写 g 全局匹配
\w:匹配数字字母下划线;
\W:匹配非数字字母下划线;
\d:匹配数字;
\D:匹配非数字;
\s:匹配空白字符;
\S:匹配非空白字符;
^:匹配字符串开始;
$:匹配字符串的结束;
eg:6-18个字符构成;匹配数字字母下划线,首字母以大写字母开始:
这里写图片描述 开始就有一个大写字母 所以就要减少一个 5-17个
b.[] 匹配[]中的罗列的单个字符;
[^abc] 匹配除了[]当中罗列的字符以外的单个字符;
(量词)限定符:用来描述字符出现的次数;
?:匹配0个或1个;
+:匹配1个或多个
{n}:匹配n个;
{m,n}:匹配至少m个但是不能超过n个;/\d{6,10}/
{m,}匹配至少m个;
手机号:这里写图片描述 以1开始,第二个数字是3.5.7.8中的随意的一个,后面还要匹配9个数字;
邮箱:这里写图片描述
string.match(reg):找到一个或多个正则表达式的匹配,返回的是一个集合;
string.replace(reg):替换与正则表达式匹配的子字符串;

 var str="傻逼,你好,嘿嘿哒";
    var reg=/傻逼|你好|39/g;
    var res=str.replace(reg,"***");
    console.log(res);

以下为做京东项目的注册页面的正则表达式;
这里写图片描述

  var verification_reg= /^\d{4,6}$/;//验证码为4位或6位都可以;
  var  pw_reg=/[\s\S]*/;//匹配随意字符
 var num_reg=/\d/;//数字
  var letter_reg=/[a-z A-Z]/;//字母匹配;命名
  var   sc_reg=/\W/;//特殊字符;
  下面为判断密码强度的js代码;
     switch (true) {
                case( num_reg.test(cc) && letter_reg.test(cc) &&  sc_reg.test(cc)): //三个都满足 强度就为最高
                    $('#security-level').show();
                    $('#bottom').css({'background': '#cacaca'});
                    $('#middle').css({'background': '#cacaca'});
                    $('#hight').css({'background': 'red'});
                    break;
                case(num_reg.test(cc) && letter_reg.test(cc) || num_reg.test(cc) && sc_reg.test(cc) || letter_reg.test(cc) && sc_reg.test(cc)): // 满足其中的两个    强度就为中
                    $('#security-level').show();
                    $('#bottom').css({'background': '#cacaca;'});
                    $('#middle').css({'background': 'red'});
                    break;
                case(num_reg.test(cc) || letter_reg.test(cc) ||sc_reg.test(cc))://只要满足其中一个  就为最低;
                    $('#security-level').show();
                    $('#bottom').css({'background': 'red'});
                    break;
            }
        }

下面为苏宁注册的复选框的check代码;

  var flag2=0;
   $('#accpect_items').on('click',function(){// $('#accpect_items')为复选框
   var aa=$("#accpect_items").prop("checked");//pop的获取属性  返回的是true或false
        if(aa){
            $('#pls-accept-items').hide();
            flag2=1;
          }else{
            $('#pls-accept-items').show();
            flag2=2;
        }
    });
});
下面为点击验证码时候,出现倒计时的情况;
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .send-msg{
            display:block;
            width:450px;
            height:160px;
            line-height:38px;
            text-align:center;
            background:#f5f5f5;
            font-size:14px;
            cursor:pointer;
            border:0 none;
            margin:30px auto;
            outline:0 none;
        }
    </style>
</head>
<body>
      <input class="send-msg" id="send-msg" type="button" value="获取验证码">
</body>
<script  src="jquery/jquery.min-v1.js"></script>//引用了jq库;
<script>
    var aa;
    var count = 30;
    var curCount;
    $('#send-msg').on('click', function () {
        curCount = count;
        $("#send-msg").val("请在" + curCount + "秒内输入验证码");
        aa = window.setInterval(cc, 1000);
    });
        function cc() {
            if (curCount == 0) {
                window.clearInterval(aa);
                $("#send-msg").val("重新发送验证码");
            }
            else {
                curCount--;
                $("#send-msg").val("请在" + curCount + "秒内输入验证码");
            }
        }
</script>
</html>
/^[\u4E00-\u9FA5]{2,4}$/  2-4位的中文字符
else if(!(/^[\u4E00-\u9FA5]+$/).test(this.qq)){
                alert('请输入中文');
                return;
            } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值