美文网首页
正则表达式学习

正则表达式学习

作者: 大数据阶梯之路 | 来源:发表于2019-04-05 00:12 被阅读0次

一、应用场景

主要用作数据验证、文本替换、内容检索、过滤内容。执行字符串函数无法完成的特殊的匹配拆分替换功能。正则表达式是一种验证规则,独立于其他编程语言。

二、基本知识

1、什么是原子?
类似于这种
\d,表示匹配任意一个数字。\d\d\d 表示匹配任意连续的三个数字。a\d\d\d 表示匹配a后面跟上连续三个数字。
\D 表示匹配任意一个非数字。
\w 表示匹配任意一个英文字母,数字或下划线。
\W 表示匹配除了字母,数字,下划线以外的任意一个字符。
\s 表示匹配任意一个空白字符。
\S 表示匹配除了空白字符外的任意一个字符。
2、什么是元字符?
类似于这种
. 表示匹配除了换行符之外的任意一个字符。
\ 表示转义字符,常用来搭配其他使用。
| 表示或的意思。
3、什么是原子表?
类似于这种
[郑李王林]儿 表示匹配前面中括号里面的任意一个字符加上后面的儿,中括号内相当于一个字符集合。
[^郑李王林]儿 表示匹配除了前面中括号里面的任意一个字符加上后面的儿,中括号内相当于一个字符集合。
[0-9][a-z][A-Z] 表示匹配数字0 ~ 9,小写字母a ~ z,大写字母A ~ Z。
4、什么是量词?
类似于这种
8{100} 表示匹配8这个数字100次。
是\d{1,6}请 表示匹配是和请之间1~6到数字,若是是\d{1,}请 则表示匹配是和请之间至少一个数字。
* 表示匹配0个或者多个。
? 表示匹配0个或者1个。
+ 表示匹配至少一个。
5、边界匹配
^ 表示字符开始 ,$ 表示字符结束。

三、实际demo

不要指望正则表达式在前端注册用途时有多精确地可以防护,其实正则表达式最重要的作用是提醒用户少犯一些低级错误,提高用户体验性而已。下面是最基础的入门demo。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>正则表达式test01</title>
        <script type="text/javascript">
            function checkTel(){
                var tel = document.getElementById('tel');
                //表示匹配第一个字符是数字1,长度是11的数字
                var reg = /^1\d{10}$/;
                var result = reg.test(tel.value);
                if(result){
                    alert('是合法手机号长度');
                }else{
                    alert('不是合法手机号长度');
                }
            }
            function checkQQ(){
                var QQ = document.getElementById('QQ');
                //表示匹配第一个字符是数字,长度是5到11的数字
                var reg = /^[1-9]\d{4,10}$/;
                var result = reg.test(QQ.value);
                if(result){
                    alert('是合法QQ号');
                }else{
                    alert('不是合法QQ号');
                }
            }
            function checkID(){
                var ID = document.getElementById('ID');
                //表示匹配第一个字符是数字,最后一个字符是x或者X或者数字
                var reg = /^[1-9]\d{16}[xX\d]$/;
                var result = reg.test(ID.value);
                if(result){
                    alert('是合法身份证号');
                }else{
                    alert('不是合法身份证号');
                }
            }
        </script>
    </head>
    <body>
        <input type="text" id="tel" />&nbsp;
        <button onclick="checkTel()">验证手机号合法长度</button>
        </br>
        <input type="text" id="QQ" />&nbsp;
        <button onclick="checkQQ()">验证QQ号</button>
        </br>
        <input type="text" id="ID" />&nbsp;
        <button onclick="checkID()">验证身份证号</button>
    </body>
</html>

附带:同样是一篇学习正则表达式的文章记录,写得比我好哈哈哈

相关文章

  • java 正则表达式 简单入门

    java 正则表达式用法 最近学习编译原理,要用到正则表达式。本次要学习如何用java正则表达式。正则表达式:可以...

  • 优秀网站收藏

    php学习的最好资源--QuorafreeCodeCamp正则表达式练习+学习程序员直播平台正则表达式学习chan...

  • 写正则表达式的正确姿势

    前言 上一篇文章我们学习了正则表达式原理,这次我们学习下怎么写正则表达式。这里,我们不会学习正则表达式的各种符号,...

  • 2018-01-22重命名

    正则表达式的学习

  • 正则表达式学习链接

    正则表达式学习链接OC 正则表达式30分钟入门教程

  • Python密码校验脚本

    最近学习python,学习中写了一个密码校验的脚本,其实主要就是用到了正则表达式,顺便也学习了一下正则表达式...

  • PostgreSQL正则表达式

    PostgreSQL正则表达式 编程,是一种触类旁通的技能。 学习正则表达式我是通过python这门语言学习的。没...

  • Biostar学习笔记(6)正则表达式和序列比对

    正则表达式 学习资料: Intro to Regular expressions 30分钟入门正则表达式 为什么要...

  • 正则表达式

    使用正则表达式 来源Github项目:jackfrued/Python-100-Days仅供学习参考 正则表达式相...

  • 正则表达式浅略学习

    在javascript编程中,会时常用到正则表达式。因此,决定对正则表达式进行学习。 学习的目的主要是能够在编程中...

网友评论

      本文标题:正则表达式学习

      本文链接:https://www.haomeiwen.com/subject/xddciqtx.html