zoukankan      html  css  js  c++  java
  • JavaScript-正则

    一、正则

      规则、模式

      强大的字符串匹配工具

      RegExp()对象

    二、

      replace:替换所有匹配

      split:把字符串切割成数组

      substring:得到字符串的范围

      charAt:根据下标得到字符串

      search() :用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

      

      *********第一个正则  

      var re=/a/i;
      var str='abcdef';

      alert(str.search(re));

      

      *********过滤HTML标签

    <textarea id="txt1" rows="10" cols="40"></textarea><br>
    <input id="btn1" type="button" value="转换" /><br>
    <textarea id="txt2" rows="10" cols="40"></textarea>

    window.onload=function ()
    {
      var oTxt1=document.getElementById('txt1');
      var oTxt2=document.getElementById('txt2');
      var oBtn=document.getElementById('btn1');

      oBtn.onclick=function ()
      {
        var re=/<[^<>]+>/g;
        oTxt2.value=oTxt1.value.replace(re, '');
      };
    };

      *********邮箱效验

    <input type="text" id="txt1" />
    <input type="button" value="校验" id="btn1" />

    window.onload=function ()
    {
      var oTxt=document.getElementById('txt1');
      var oBtn=document.getElementById('btn1');

      oBtn.onclick=function ()
      {
        var re=/^w+@[a-z0-9]+.[a-z]+$/i;
        if(re.test(oTxt.value))
        {
          alert('合法的邮箱');
        }
        else
        {
          alert('你丫写错了');
        }
      };
    };

      *********敏感词过滤

    <textarea id="txt1" rows="10" cols="40"></textarea><br>
    <input id="btn1" type="button" value="过滤" /><br>
    <textarea id="txt2" rows="10" cols="40"></textarea>

    window.onload=function ()
    {
      var oTxt1=document.getElementById('txt1');
      var oTxt2=document.getElementById('txt2');
      var oBtn=document.getElementById('btn1');

      oBtn.onclick=function ()
      {
        var re=/北京|百度|淘宝/g;
        oTxt2.value=oTxt1.value.replace(re, '***');
      };
    };

      !!!找出所有数字

      

    var str='12 fff 87 er334 233 -=-=fa80';
    var arr=[];
    var tmp='';

    for(var i=0;i<str.length;i++)
    {
      if(str.charAt(i)>='0' && str.charAt(i)<='9')
      {
        tmp+=str.charAt(i);
      }
      else
      {
        if(tmp)
        {
          arr.push(tmp);
          tmp='';
        }
      }
    }

    if(tmp)
    {
      arr.push(tmp);
      tmp='';
    }

    alert(arr);

    用正则写

    var str='12 fff 87 er334 233 -=-=fa80';

    alert(str.match(/d+/g));

  • 相关阅读:
    程序打印的日志哪里去了?结合slf4j来谈谈面向接口编程的重要性
    vue项目用npm安装sass包遇到的问题及解决办法
    nginx反向代理配置及常见指令
    你以为你以为的就是你以为的吗?记一次服务器点对点通知的联调过程
    jeecg逆向工程代码的生成及常见问题
    java注解
    终于有了,史上最强大的数据脱敏处理算法
    SpringBoot项目下的JUnit测试
    递归方法
    练习题
  • 原文地址:https://www.cnblogs.com/xiaoyangtian/p/7967117.html
Copyright © 2011-2022 走看看