广州web培训
达内广州五羊中心

18087159764

热门课程

达内广州Web培训详解JS:正则表达式

  • 时间:2016-11-23
  • 发布:广州前端开发培训
  • 来源:简书

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

1、正则对象

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

// js风格:

var reg = new RegExp('a');

var reg = new RegExp('a','i');

// perl风格:

var reg = /a/;

var reg = /a/i;

2、正则和字符串

我们在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、元字符[]

这里所说的元字符其实就可以理解为[]这个符号

达内广州Web培训此处讲三种元字符形式:

[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以及下划线的其它字符

4、转义字符

\d数字

\w字母、数字、下划线

\s空字符

\D除了数字

\W除了字母数字下划线

\S非空字符

5、量词

{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全局搜索的关键字。

上一篇:Adobe CC套装登陆中国,但正版你买不起
下一篇:达内广州Web培训教你写JS框架:项目结构

达内广州web培训详解ES6循环:for-of

达内广州web培训详解ES5循环:forEach

达内广州web培训详解ES5简单for循环

达内广州web培训分享:CSS预处理器的缺点

选择城市和中心
贵州省

广西省

海南省