zoukankan      html  css  js  c++  java
  • javascript正则表达式的使用

    粗略的可以参考https://www.runoob.com/jsref/jsref-obj-regexp.html

    什么是正则表达式?

    正则表达式是由一个字符序列形成的搜索模式。

    当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

    正则表达式可以是一个简单的字符,或一个更复杂的模式。

    正则表达式可用于所有文本搜索和文本替换的操作。

    一些常见的正则表达式https://blog.csdn.net/lm1022/article/details/79050083

    项目中遇到一种情景,在用户登录的时候使用js的正则表达式判断输入是否为[字母][数字][下划线]的组合,且仅包含此三种符号。使用表达式和函数如下:

    function isValid(str) 
    { 
      return /(?=.*[A-Za-z])(?=.*[d])(?=.*_)(^[0-9a-zA-Z_]{1,}$)/.test(str); 
    }

     讲解一下:

    1. 第一个括号内是查找匹配出后面跟着某个字母的字符串,这说明了整个字符串中含有字母。
    2. 再通过类似的方法查找匹配出来的字符串中是否含有数字、下划线_。
    3. 到第四个括号时,已经说明整个字符串中同时含有字母、数字、下划线_。
    4. 最后一个括号里,针对匹配出来的字符串,查找其开头和结尾是[字母、数字、下划线_]的字符串。其中(^n+$)是常见的一种正则表达式,用于确定字符串由n组成,n可以是一个集合,(^n+$)相当于(^n{1,}$)。
    ?=n 匹配任何其后紧接指定字符串 n 的字符串。
    . 查找单个字符,除了换行和行结束符。
    [0-9] 查找任何从 0 至 9 的数字。
    [a-z] 查找任何从小写 a 到小写 z 的字符。
    [A-Z] 查找任何从大写 A 到大写 Z 的字符。
    [A-z] 查找任何从大写 A 到小写 z 的字符。
    d 查找数字。
    n*

    匹配任何包含零个或多个 n 的字符串。

    例如,/bo*/ 匹配 "A ghost booooed" 中的 "boooo","A bird warbled" 中的 "b",但是不匹配 "A goat grunted"。

    n{X,}

    X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。

    例如,/a{2,}/ 不匹配 "candy" 中的 "a",但是匹配 "caandy" 和 "caaaaaaandy." 中所有的 "a"。

    ^n 匹配任何开头为 n 的字符串。
    n$ 匹配任何结尾为 n 的字符串。



    推荐一下
    正则表达式生成网站http://tools.jb51.net/regex/create_reg,可以根据条件自动生成正则表达式

    再强烈推荐一个正则表达式的debug网站https://regex101.com

    可以在REGULAR EXPRESSION中输入正则表达式,下面的TEST STRING中输入测试字符串,右边会对于正则表达式的含义进行解释。

    需要注意此部分的输入会被整体看做一个字符串进行测试,并不是每一行测试一次。

    好在可以测试实时输入,右边会实时显示测试是否通过。

    这个网站还有一个特别好的地方,如果输入的字符串匹配失败,在你输入的正则表达式右上角有个debug按钮(小甲虫图标),点击后可以进入debug界面https://regex101.com/debugger

    在这里可以分步查看匹配流程,默认是查看50步,可以自行修改步数。通过匹配流程可以更好地理解正则表达式

  • 相关阅读:
    通用权限管理设计 之 数据库结构设计
    jQuery LigerUI 插件介绍及使用之ligerDateEditor
    jQuery LigerUI 插件介绍及使用之ligerTree
    jQuery LigerUI V1.01(包括API和全部源码) 发布
    jQuery liger ui ligerGrid 打造通用的分页排序查询表格(提供下载)
    jQuery LigerUI V1.1.5 (包括API和全部源码) 发布
    jQuery LigerUI 使用教程表格篇(1)
    jQuery LigerUI V1.0(包括API和全部源码) 发布
    jQuery LigerUI V1.1.0 (包括API和全部源码) 发布
    nginx keepalived
  • 原文地址:https://www.cnblogs.com/smileglaze/p/13891187.html
Copyright © 2011-2022 走看看