帅你一脸的正则表达式

作者: 无意惹东风 | 来源:发表于2016-11-12 18:41 被阅读85次

前两天看了看正则表达式,突然发现实在是个好东西,帅气的不耀不耀的了简直,今天有空,就特意整理一下基础的东西。

1、首先来说一下到底什么是正则表达式。

RegExp: 正则表达式就是一种强大的字符串匹配工具

正则:就是规则
正则表达式:规则表达式。
其实,所谓正则表达式就是规则表达式,它所表达的就是一种规则。
当然,这里要说一下的是:没有什么事情是非正则不可的,但是正则的存在使我们的操作得到了极大的简化。

2、正则对象
JS语法中,创建一个新的对象可以用new,但是我们更常用的是perl风格的正则表达式:

// js风格: 
var reg = new RegExp('a');
var reg = new RegExp('a','i'); 
// perl风格: 
var reg = /a/;
var reg = /a/i;

3、正则和字符串
我们在JS中常用的字符串操作有:search、substring、charAt、split、replace这几种,其中replace的操作就是在正则中完美展示的。

// search 查找:存在的时候返回的是字符在字符串所处的位置,不存在的时候返回-1
var str='adcdef';
alert(str.search('a')); 

// substring(起点位置,终点位置);
substring(1,4); // 表示从位置1开始到位置4结束的字符

// charAt(位置点);返回某一位置的字符
str.charAt(2); 返回的将是位置2处的字符: c

// split(); 切分字符串
var str='12-44-fff-ttt';
var arr=str.split('-');
alert(arr); // 这里返回arr数组为(12,44,fff,ttt)

// replace('旧词','新词'); 敏感词过滤
str.replace('e','*'); // 这里返回的str将是:adcd*f,其中原来的e被*代替

3、元字符[]
这里所说的元字符其实就可以理解为[]这个符号
此处讲三种元字符形式:

[asd]                 等价于“或”

例如:[asd]yt 表示的是:
ayt、syt、dyt、都是符合要求的,但是像byt、cyt等就不符合

[a-z] , [0-9]     等价于“区间、范围”

[a-z]表示英文字母从a到z
[0-9]表示数字0到9

[^a-z]               等价于“除去、排除”

[^a-z] 表示除了字母a到z的其它字符
[^a-z0-9_]表示除了字母a到z、0-9以及下划线的其它字符

5、转义字符

\d 数字
\w 字母、数字、下划线
\s 空字符

\D 除了数字
\W 除了字母数字下划线
\S 非空字符

6、量词

{n} 正好出现n次
// \d{8} 数字,正好出现8次(用来判断电话号码)
{n,m} 最少n次,最多m次
// [1-9]\d{4,10}表示第一位是数字1-9的任一个,后面是四位到十位任意数字
{n,} 最少n次,最多不限

^   有两种意思:
在[]中意思是“除了”
不在[]中意思是“行首”,字符串开头

$   “行尾”,字符串结尾

? 等价于 {0,1} 可有可无(比如固定电话的区号和分机号)
+ 等价于 {1,} (最少1次,最多不限) 若干(多少都行)
* 等价于 {0,} 没出现也算,会导致判断出错,不推荐使用

另外还有两个字母需要我们注意下:

i 忽略大小写
g 全局搜索的关键字

7、例子:
电话号码校验:

<!--电话号码-->
<!--   010-87664565 或者87664565   -->
<!--  (0\d{2,3}-)? 区号   -->
<!-- [1-9]\d{7} 号码      -->
<!-- (-\d{1,4})? 分机号   -->
最后得到的固定电话的正则表达式就是:
 (0\d{2,3}-)?[1-9]\d{7}(-\d{1,5})?

邮箱校验:

 邮箱:
        一串数字、英文、下划线   @    一串英文数字 .   一串英文
        \w+                  @    [a-z0-9]+    \.  [a-z]+
但是由于有时候会出现“!!!jiaoye000@163.com”这种不符合要求的假邮箱,所以就需要我们再加上 “行首”和 “行尾”的判断
最后生成的就是这样的格式用来验证邮箱号码:
/^\w+@[a-z0-9]+\.[a-z]+$/i

其中的+表示的就是“一串”的意思。

-----------------------------
以上就是今天关于正则表达式的相关内容了,看完之后有没有觉得原来正则表达式居然可以这么简单。有没有被帅到,反正我是被帅到了。

希望我的文章能对大家有所帮助。康撒米哒~~~

相关文章

  • 帅你一脸的正则表达式

    前两天看了看正则表达式,突然发现实在是个好东西,帅气的不耀不耀的了简直,今天有空,就特意整理一下基础的东西。 1、...

  • 【情感】牵手(92)

    吴帅帅没到下班时间就急匆匆跑回家,打开门,雅楠妈妈一脸吃惊地看着帅帅哭红的眼睛,“帅帅,你怎么啦?” “妈,我马上...

  • 我嫁给了帅气的老公!却过上了我不想过的日子

    今晚和几个朋友去吃火锅,聊起各自的家庭生活,一位朋友突然问我“你老公帅不帅!”我一脸嘚瑟的回了句,“帅!很帅...

  • 2017-08-20

    四哥帅我一脸

  • 吴帅老师

    吴帅,第一反应就是“无帅”,别笑,还真是名副其实的无帅,长着一副马脸,还一脸的痘痘,每次上课前都要把你扫视一遍,那...

  • 又被帅了一脸

    我喜欢看帅哥美女,尤其爱看帅哥,小时候网络不像现在这么便捷,电视剧便是欣赏各色帅哥的主要途径。 印象里第一个朦朦胧...

  • 原来你那么帅

    我都不知道, 你这么棒 其实拿冠军的应该是你 帅我一脸 惊艳。 好玩先生

  • 如此情商

    宝妈:宝宝,你爸爸帅不帅? 宝宝:看了一眼正在给自己洗脸的爸爸,一脸真诚的回答:“爸爸帅!” 宝爸:那你妈妈漂亮吗...

  • 夏天里的暖月

    “你在看什么?笑得一脸花痴样。” “月月,你快来看看,这男的好帅啊。”罗依珍一脸陶醉。 苏月月边走边晃着自己酸疼的...

  • 交易的爱情(4)

    3 “孙超,对不起,向你道歉。”小青一脸认真的说到。 “道什么歉?”孙超一脸疑惑。 “为今天上午我说帅帅的事儿向你...

网友评论

  • _老妖怪:哇哦、大神、更新这么频繁、我都五体投地的、带我飞啊、飞………
    无意惹东风: @sean_xia 😂😂😂

本文标题:帅你一脸的正则表达式

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