关于JavaScript

    技术2022-07-11  82

    what、why、how?

    What?Why? 正则表达式(什么是?为什要有?): 正则表达式又称为"规则表达式",可以说它是一种校验的规则,就是用特定字符或其组成的集合,组成一个"规则的字符串", 通过"规则字符串"来校验我们所输入的字符串是否满足我们事先所定义的规则字符串,以达到校验的效果。

    How? 正则表达式中“特定的字符”

    一、 ^ 表示开头 $ 表示结尾 ^**$ 表示完全满足 | 表示或 二、 [ab] 表示a或b [0-9] 任意的数字 [a-z] 任意小写字母 [A-Z] 任意大写字母 [A-z] 任意字母 三、 通过量词可以设置内容的次数 量词只对{}前面的一个内容起作用 a{5} 相当于 aaaaa a{1,5} a出现1-5次中的任意一次 a{5,} a出现5次以上 ba{5} 相当于 baaaaa (ab){5} 相当于 ababababab n+ 至少含有一个n 相当于{1,} n 含有0个或多个n 相当于{0,} n? 含有0个或1个n 相当于{0,1}

    四、

    ^a 检查字符串是否以a开头 a$ 检查字符串是否以a结尾 ^a$ 字符串必须完全是a,既必须是a (这个以应该是我们常用的) ^a|a$ 以a开头或以a结尾 ^(a|b)$ 要么是a要么是b (举例)

    五、 \b 表示单词边界(border) (举例) \B 除了单词边界

    \d 表示任意的数字(digit) \D 除了数字 \s 表示空格(space) \S 除了空格 \w 表示任意字母,数字,‘_’ \W 表示除了字母,数字,‘_’

    六、 在正则表达式中 .表示任意字符,所以要用.表示. \ 表示\

    \. 表示.

    实操: ①2018级计算机专业的学号的正则表达式:(01-52) ST201865080028 前10位固定 ST2018650800 第11,12位 ([0-4][0-9]|5[0,2]) 结果:^ST2018650800([0-4][0-9]|5[0,2])$

    ②QQ邮箱的正则表达式: 开头数字不能为0 ^[1,9] 除开头的数字长度为 4-9位 \d{4,9} 固定结尾@qq.com @qq\.com 结果:^^[1-9]{1}\d{4,9}@qq\.com$ ③查看一段文字中是否包含山东体育学院网址 http://www.sdpei.edu.cn 结果:http://www\.sdpei\.edu\.cn ④查看一段文字中是否含有单词hello world hello world \b(hello world)\b
    Processed: 0.011, SQL: 10