<script type="text/javascript">

function t1() {
    var vo = document.getElementsByName('str')[0];
    var patt = /hi/i;
    alert(patt.test(vo.value));
}

function t2() {
    var vo = document.getElementsByName('str')[0];
    var patt = /<script.+<\/script>/gi;
    vo.value = vo.value.replace(patt,'');
}


function t3() {
    var vo = document.getElementsByName('str')[0];
    // var patt = /<script.+<\/script>/sgi; //js不支持s单行模式
    var patt = /<script[\w\W]+<\/script>/gi;
    vo.value = vo.value.replace(patt,'');
}

function t4() {
    var vo = document.getElementsByName('str')[0];
    var patt = /<script[\w\W]+?<\/script>/gi;
    vo.value = vo.value.replace(patt,'');
}

function t5() {
    var vo = document.getElementsByName('str')[0];
    var patt = /^[a-z]+/gm;
    alert(vo.value.match(patt));
}

</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>模式</h2>
        <p>
           模式不是正则表达式的一部分,但是能够影响正则式的作用效果.<br />
           i,ignore,忽略(大小写)<br />
           默认情况:无论是匹配,还是替换,都是检查/替换掉1次就结束.<br />
           用全局模式,来替换所有匹配的字符串.<br />
           全局模式: g<br />
           s:代表单行模式,把整个字符串当成一行来看待<br />
           <font color="red">js目前不支持单行模式</font><br />
           在js的正则使用中,想解决.跨行的问题. <br />
           1:单行模式不能用.<br />
           2: [.\n]也不能代表"所有字符"<br />
           我们可以用[\w\W],[\d\D],[\s\S],这几个组合来代替"所有字符"<br />
           <b>正则默认是尽量"多找"匹配的内容,称为贪婪模式<br /></b>
           在个数修饰符加"?",可以改为"非贪婪模式"<br />

           多行模式,m<br />
           正常情况,字符串从头到尾,当成一个整串来看.<br />
           ^代表字符开头,$代表整个字符的结尾 <br />
           把每一行,看成一个独立的字符串


        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="匹配hi字符" onclick="t1();" /><br />
        <input type="submit" value="去除单行script代码" onclick="t2();" /><br />
        <input type="submit" value="去除多行script代码" onclick="t3();" /><br />
        <input type="submit" value="去除多行script代码,但不影响其他html标签" onclick="t4();" /><br />
        <input type="submit" value="多行模式" onclick="t5();" /><br />
    </body>
</html>


<script type="text/javascript">
    function t1() {
        var vo = document.getElementsByName('str')[0];
        var patt = /^1[3458][0-9]{9}$/; // 1开头,跟着3|4|5|8,再来9位数字
        if(patt.test(vo.value)) {
            alert('是手机号');
        } else {
            alert('不是手机号');
        }
    }

    function t2() {
        var vo = document.getElementsByName('str')[0];
        var patt = /1[3458][0-9]{9}/g;
        alert(vo.value.match(patt))
    }

    function t3() {
        var vo = document.getElementsByName('str')[0];
        var patt = /^[a-z0-9][a-z0-9_]*(\.[a-z0-9]+)*@[a-z0-9][a-z0-9-]*(\.[a-z0-9][a-z0-9-]*)+$/i;
        if(patt.test(vo.value)) {
            alert('是email');
        } else {
            alert('不是email');
        }
    }
</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>综合练习</h2>
        <p>
           
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="验证手机号" onclick="t1();" /><br />
        <input type="submit" value="采集文章中的手机号" onclick="t2();" /><br />
        <input type="submit" value="验证email" onclick="t3();" /><br />
    </body>
</html>

<script type="text/javascript">
    function t1() {
        var vo = document.getElementsByName('str')[0];
        var patt = /<script[\w\W]+?<\/script>/ig;
        vo.value = vo.value.replace(patt,'');
    }

    function t2() {
        var vo = document.getElementsByName('str')[0];
        var patt = /<a href=".*"[^>]*>/ig;
        vo.value = vo.value.replace(patt,'<a href="#">');
    }
</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>综合练习</h2>
        <p>
           
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="去js代码" onclick="t1();" /><br />
        <input type="submit" value="替换链接为#" onclick="t2();" /><br />
    </body>
</html>

<script type="text/javascript">
    function t1() {
        var bo = document.getElementsByName("str")[0];
        var tagg= /(\w)\1+/g;
        bo.value=bo.value.replace(tagg,'$1');
    }
</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>综合练习</h2>
        <p> 
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="去重复字符aaabb->>ab" onclick="t1();" /><br />
    </body>
</html>

<script type="text/javascript">
    function t1() {
        var vo = document.getElementsByName('str')[0];
        var patt = /[\u4E00-\u9FA5]/g;
        vo.value = vo.value.replace(patt,'');
    }

    function t2() {
        var vo = document.getElementsByName('str')[0];
        var patt = /^[\w\u4E00-\u9FA5]{4,}$/;
        if(patt.test(vo.value)) {
            alert('用户名合法');
        } else {
            alert('用户名非法');
        }
    }

</script>

<style type="text/css">
</style>
</head>
    <body>
        <h2>验证中文</h2>
        <p>
           
        </p>
        <textarea name="str" /></textarea><br />
        <input type="submit" value="把中文替换掉" onclick="t1();" /><br />
        <input type="submit" value="检验用户名是字母下划线中文的组合" onclick="t2();" />
    </body>
</html>

入门正则表达式二的更多相关文章

  1. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 如何使用Firebase在iOS上验证用户的电子邮件地址?

    我坚持使用firebase进行电子邮件验证.我四处寻找指导但没有帮助.在用户验证他的电子邮件后,我的代码仍然打印出用户尚未验证.我还在尝试习惯firebase的语法.这是我的代码:这是我注册部分的代码:解决方法您在签名之前检查了用户电子邮件是否已经过验证.这对我有用.

  3. ios – 使用大写符号在字符串swift中获取URL的正则表达式

    我尝试在文本中获取URL.所以,在此之前,我使用了这样一个表达式:但是当用户输入带有大写符号的URL时(例如Http://Google.com,它与它不匹配)我遇到了问题.我试过了:但什么都没发生.解决方法您可以使用正则表达式中的i内联标志关闭区分大小写,有关可用正则表达式功能的详细信息,请参阅FoundationFrameworkReference.(?ismwx-ismwx)Flagsetti

  4. xcode – UIAlertController Segue到不同的页面(Swift)

    我能够为我的按钮编写一个UIAlertController,它工作正常,但是当我按下YES或OK按钮时,我不知道如何切换到不同的页面.目前,YES或OK按钮无处可去.解决方法您可以在故事板中创建一个segue,控制从场景顶部的黄色视图控制器拖动到新的视图控制器.然后在检查器中为该segue指定一个标识符.您可以从代码中的处理程序中调用它.

  5. ios – 使用Swift实现应用内邮件失败

    我想使用swift来实现应用内电子邮件.当我点击按钮时,会弹出电子邮件窗口.但是,我无法发送电子邮件.此外,点击取消删除草稿后,我无法返回到原始屏幕.解决方法由于您尚未将当前视图控制器设置为myMail的mailComposeDelegate,因此未调用mailComposeController:didFinishWithResult方法.初始化myMail后,请确保添加:你会很好的去

  6. iOS Swift – 如何以编程方式为所有按钮指定默认操作

    除非通过界面生成器或以编程方式分配其他操作,否则如何为UIButton分配默认操作以显示警报?解决方法那么你想要实现的目标是什么.我已经使用UIViewController扩展并添加了一个闭包作为没有目标的按钮的目标.如果按钮没有动作,则会显示警报.我测试了它.希望这可以帮助.快乐的编码.

  7. iOS如何在任何地方点击UIAlertView?

    我想通过一键轻松将UIAlertView的任何地方关掉.我想显示一个UIAlertView没有任何按钮.我在这里有标准的UIAlertView代码,但我需要输入如何解除它,如果可能的话.用UITouch?

  8. ios – 扩展UIAlertController方便初始化警告

    当我定义一个UIAlertController方便初始化器时:并在我的UIViewController子类中的按钮操作中使用它:然后单击模拟器上的那个按钮,我收到一个警告:Attemptingtoloadtheviewofaviewcontrollerwhileitisdeallocatingisnotallowedandmayresultinundefinedbehavior(UIAlertCo

  9. ios – 如何在Swift 3中使用正则表达式?

    解决方法我相信.当没有其他选项适用时,将使用.allZeros.因此,使用Swift3,您可以传递一个空的选项列表或省略options参数,因为它默认为无选项:要么请注意,在Swift3中,您不再使用error参数.它现在抛出.

  10. ios – UIAutomation:任何方式来解雇“想使用您当前的位置”提醒?

    我的应用程序正在使用位置服务,而对于自动测试,我想要能够解除“APP想要使用当前位置”弹出窗口.但是,当我尝试使用UIAutomation脚本在Instruments中执行此操作时,我会收到此错误:这样做是有道理的,因为警报是由不同的过程产生的.但是,在这种情况下,苹果计划如何帮助人们自动化测试?

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部