zoukankan      html  css  js  c++  java
  • JS正则表达式

    1、正则表达式是对字符串的操作,常用的字符串操作有:serch(查找)  substring(获取子字符串的起始位置) chaAt(获取某个字符串) split(分割字符串到一个数组里)

    2、match的用法

    量词的概念:

    什么是量词

    出现的次数 {n,m},至少出现n次,最多m次 例子:查找QQ号

    常用量词 {n,} 至少n次

    * 任意次 {0,}

    ? 零次或一次 {0,1}

    + 一次或任意次{1,}

    {n} 正好n次

    <script>
    var str='asdf 34 656 cvs33';
    var re=/d+/g;  //g 表示全局 如果去掉那么只匹配一个结果,g是将全部的匹配结果返回,+为量词表示连续 如果不用+计算机会把匹配结果全部拆分为单个的字符串
    alert(str.match(re));
    </script>

    3、replace的用法

    <script>
    var str='abc aaa erw';
    var re=/a/g;
    alert(str.replace(re, '0'));
    </script>

    4、search的用法

    <script>
    var str='abcdef';
    alert(str.search('u'));        //位置, -1 如果存在则返回第一次出现的位置 如果不存在返回-1
    </script>

    5、split的用法

    <script>
    var str='12-56-aaa-89';
    var arr=str.split('-'); //结果为 12,56,aaa,89
    alert(arr)
    </script>

    6、substring的用法

    <script>
    var str='abcdef';
    //alert(str.substring(2, 5));    //不包括结束位置
    alert(str.substring(1));
    </script>

    7、第一个正则表达式

    <script>
    var str="abcdef";
    //var re=new RegExp('b','i'); //i表示不区分大小写
    var re=/a/i;
    alert(str.search(re));
    </script>

    8、方括号的使用

    <script>
    var str='apc xpc ppc bpc spc tpc';
    var re=/[apx]pc/g;
    alert(str.match(re));
    </script>

    任意字符 [abc] 例子:o[usb]t——obt、ost、out

    范围 [a-z]、[0-9] 例子:id[0-9]——id0、id5

    排除 [^a] 例子:o[^0-9]t——oat、o?t、o t

    9、过滤标签的正则写法

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>
    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, '');
        };
    };
    </script>
    </head>
    <body>
    <textarea id="txt1" rows="10" cols="40"></textarea><br>
    <input id="btn1" type="button" value="转换" /><br>
    <textarea id="txt2" rows="10" cols="40"></textarea>
    </body>
    </html>

    10、过滤敏感词

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>
    window.onload=function()
    {
        var oTxt=document.getElementById("txt1")[0];
        var oTxt2=document.getElementById("txt2")[0];
        var oBtn=document.getElementById("btn1")[0];
        oBtn.onclick=function()
        {
            var re=/北京|百度|淘宝/g;
            oTxt2.value=oTxt.value.replace(re,"***")
        }
    }
    </script>
    </head>
    
    <body>
    <textarea id="txt1" rows="10" cols="40"></textarea><br>
    <input id="btn1" type="button" value="过滤" /><br>
    <textarea id="txt2" rows="10" cols="40"></textarea>
    </body>
    </html>

    11、校验邮箱

    思路:邮箱开始为 字母、数字、下划线+@字母、数字+.+字母

    字母数字下划线的正则为 w+@[a-z0-9]+.+[a-z] 思路出来了代码也就出来了 

    PS 我们用到test()的时候,只要代码中含有匹配内容就返回true 所以我们需要加上^开始位置+$结束位置

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>
    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("你丫写错了!")
            }
        }
    }
    </script>
    </head>
    
    <body>
    <input type="text" id="txt1" />
    <input type="button" value="校验" id="btn1" />
    </body>
    </html>
  • 相关阅读:
    javascript获得浏览器工作区域的大小
    javascript禁止输入数字
    Extjs之遍历Store内的数据
    Extjs之rowEditing编辑状态时列不对齐
    Extjs中numberfield小数位数设置
    【转】vscode常用快捷键整理
    【转】如何提高WEB的性能?
    【转】echarts 使用示例
    uni-app页面配置和跳转
    【转】.NetCore如何将特性和依赖注入有效结合
  • 原文地址:https://www.cnblogs.com/yuyu9988/p/3421698.html
Copyright © 2011-2022 走看看