• 【JavaScript--正则表达式】一些常见的表达式及其用法


    一,正则表达式的定义

    正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。

    特点:

    1. 灵活性、逻辑性和功能性非常的强。

    2. 可以迅速地用极简单的方式达到字符串的复杂控制。

    3. 理解起来比较难懂。比如:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

    4. 实际开发,一般都是直接复制写好的正则表达式. 但是要求会使用正则表达式并且根据实际情况修改正则表达式.   比如用户名: /^[a-z0-9_-]{3,16}$/

    二,正则表达式创建

    1:对象方式创建

    1. var regxp= new RegExp(/123/);
    2. console.log(regexp);

    2:字面量方式创建

    var regxp= /123/;

    三,测试正则表达式(test)

    test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false,其参数是测试字符串。

    1. var regexp = new RegExp(/123/);
    2. console.log(regexp.test("123"));//true
    3. console.log(regexp.test("234"));//false

    四,元字符

    定义:在正则表达式中是具有特殊意义的专用符号,如 ^ 、$ 、+ 等。

    参考网址:

    正则表达式 - JavaScript | MDN正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法,以及 String 的 match、matchAll、replace、search 和 split 方法。本章介绍 JavaScript 正则表达式。https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

    ^:表示匹配行首的文本(以谁开始

    1. var regexp = new RegExp(/^123/);
    2.         console.log(regexp.test("223"))//false
    3. console.log(regexp.test("1232"))//true

    $:表示匹配行尾的文本(以谁结束

    1. var regexp = new RegExp(/123$/);
    2. console.log(regexp.test("123"))//true
    3. console.log(regexp.test("1232"))//false

    注意:如果 ^和 $ 在一起,表示必须是精确匹配。

    1. var regexp = new RegExp(/^123$/);
    2. console.log(regexp.test("123"))//true
    3. console.log(regexp.test("1232"))//false

    五,字符类

    字符类表示有一系列字符可供选择,只要匹配其中一个就可以了。所有可供选择的字符都放在方括号内。

    1:只要含123任意一个字母 就为true

    1. var regexp = /[123]/
    2. console.log(regexp.test("1abc"));//true
    3. console.log(regexp.test("abc"));//false

    2: 必须是123其中的一个开头

    1. var regexp1 = /^[123]/
    2. console.log(regexp1.test("a1"));//false
    3. console.log(regexp1.test("1abc"));//true

    3:只要是a-z就返回true

    1. var reg = /^[a-z]$/
    2. console.log(reg.test('a'));//true
    3.  console.log(reg.test('z'));//true
    4. console.log(reg.test('a1'));//false

    4:字母数组组合

    1. var reg3 = /^[a-zA-Z0-9]$/;
    2. console.log(reg3.test('a'));//true
    3. console.log(reg3.test('1'));//true

    5:取反 方括号内部加上 ^ 表示取反,只要包含方括号内的字符,都返回 false 。

    1. var reg2 = /^[^a-zA-Z0-9]$/;
    2. console.log(reg2.test('a'));//false
    3. console.log(reg2.test('B'));//false

    六,量词符

    量词

    说明

    *

    重复0次或更多次

    +

    重复1次或更多次

    ?

    重复0次或1次

    {n}

    重复n次

    {n,}

    重复n次或更多次

    {n,m}

    重复n到m次

     

     

     

     

     

     

     

    1. var regexp = /^[123]+$/; //重复1次或更多次
    2. console.log(regexp.test("111"));//true
    3. console.log(regexp.test("a23"));//false
    4.  

    七,预定义类

    预定类    说明
    \d匹配0-9之间的任意数字,相当于[0-9]
    \D匹配说有0-9以外的字符,相当于[^0-9]
    \w匹配任意的字母,数字和下划线,相当于[A-Za-z0-9]
    \W除所有字母,数字和下划线的字符外,相当于[^A-Za-z0-9_]
    \s匹配空格(包括换行符,制表符,空格符),相等于[\t\r\n\v\f]
    \S匹配非空格的字符,相当于[^\t\r\n\v\f]

    八,常用的正则表达式

    1 验证座机号码

    1. var reg = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
    2. var reg = /^\d{3,4}-\d{7,8}$/;

    7.2 验证手机号码

    Var reg = /^1[3|4|5|7|8][0-9]{9}$/

    7.3 验证身份证

    15位或者18位

    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

    7.4 验证码用户名

    帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):

    var reg = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/

    更多:

    正则表达式在线测试 | 菜鸟工具

  • 相关阅读:
    四川达州-全国先进计算创新大赛总结
    FISCO BCOS | 构建第一个区块链应用程序
    CSS transition 过渡
    前端学习笔记--ES6
    C语言 - 通讯录详解
    【设计模式】策略模式在项目中的实战运用
    动画系统的前世今生(一)
    用Python实现链式调用
    java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署
    MT9632音频功率调试
  • 原文地址:https://blog.csdn.net/qq_52499703/article/details/126536471