您的位置:首页 > Web前端 > JavaScript

JS高级,正则表达式

2013-02-27 19:50 239 查看
Javascript正则表达式:

1,正则表达式就是一种规则,就像我们通过dtd验证xml是不是符合某种规则,正则就是用来验证我们的字符串是不是符合某种规则

2,正则可以理解成筛子,将网页上我们需要的数据给筛选出来

3,正则表达式是一门语言,不依赖于任何其他的语言,只是其他语言如何去支持正则

学习的内容:

(1)正则的语法如何

(2)其他语言如何支持正则表达式:(javascript如何支持正则表达式)

Javascript操作正则是通过RegExp这个对象来实现的

获得这个对象:

New RegExp(正则表达式,模式修正符)

快捷语法: /正则表达式/模式修正符

常用的方法:

Test() 检测字符串是否含有符合我们规则的字符,返回布尔类型的值

Exec() 检测字符串是否含有符合我们规则的字符,如果有返回匹配到的值,否则返回null

表示字符集 【】

【】中 - 表示的是 一个范围

[a-z] 表示小写字母

[A-Z] 大写字母

[0-9] 表示所有的数字

[za] z 或 a 二选1

[]中 ^ 代表 非

var reg = /[^a-z]/;

var str = 123;

alert(reg.exec(str));

中括号外面 ^ 代表 某个字符开始 $代表以某个字符结束

var reg = /^h[a-z]{8}d$/;

var str = 'helloworld';

alert(reg.exec(str));

| 代表或

var reg = /a|b|c/;

var str = 'a';

alert(reg.exec(str));

. 表示任意字符,但是不匹配 换行符(\n)

var reg = /./;

var str = '*';

alert(reg.exec(str));

\ 转义字符,将后面字符原样输出

var reg = /\./;

var str = 'www.hbsi.com';

alert(reg.exec(str));

常用的转义字符来表示 某个字符

\w 所有的字母数字下划线 等于 [a-zA-Z0-9_]

var reg = /\w/; //匹配所有所有的字母数字下划线 [a-zA-Z0-9_]

var str = 'www.hbsi.com';

alert(reg.exec(str));

\W 非 \w

\d 所有的数字

\D 所有的字符除了 数字

\s 空格

\S 所有字符,但是除了空格

\b 字符边界(boundary)

\D 所有的字符,但是除了字符边界

var reg = /\b/;

var str = 'this is my book'; //is 替换成 was

alert(str.replace(/\bis\b/,'was'));

Unicode编码表示汉字

因为javascript内置的编码就是 unicode,4e00-9fa5

alert(String.fromCharCode(0x9fa5)); //需要注意:参数要求是16进制

var reg = /[\u4e00-\u9fa5]/;

var str = '你好吗?';

alert(reg.exec(str));

表示字符数量

{} 表示是数量范围

{最小数量,最大数量} {1,6}最少1次最多6次

{1,} 表示1到正无穷

{,5} 表示最多5个

{6} 表示6次

var reg = /[a-z]{5}/;

var str = 'apple';

alert(reg.exec(str))

* 0次或多次 任意多

var str = 'jdghkuhgsiduhisdjgydf';

var reg = /[a-z]*/;

alert(reg.exec(str));

+ + 表示最少1次(1次或多次)

var str = 'hhheeelllooo';

var reg = /h+e+l+o+/;

alert(reg.exec(str));

? 0 次或1次

var str = 'hello';

var reg = /h?e?ll?o/;

alert(reg.exec(str));

匹配QQ号码;

分组的使用

在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回

下标为0 的数组 返回的是 整个正则表达式匹配的结果

下标为1数组,返回的是第一个分组匹配的结果

模式修正符

/正则表达式/模式修正符

i ignoreCase 忽略大小写

var str = 'helloWORLD';

var reg = /[a-z]*/i;

alert(reg.exec(str));

g global 全局匹配

var str = '12345hello67890';

var reg = /\d*/g;

alert(reg.exec(str));

m multiline 多行匹配

正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够

在js代码中,我们通过\n 来换行

在前台页面,通过<br/>

var str = 'apple,\norange,banana';

var reg = /^orange/m;

alert(reg.exec(str));

利用字符串处理正则表达式

字符串对象的方法处理正则表达式

Match() 将正则匹配的结果输出

var str = '12345helloworld';

var reg = /\w*/;

alert(str.match(reg));

Replace() 根据正则匹配的结果,进行字符串替换

var str = 'this is my book';

alert(str.replace(/\bis\b/,'was'));

Split() 字符串拆分,根据分隔符将字符串进行拆分

var str = 'www.hbsi.com';

alert(str.split('.',3));

Javascript正则表达式:

1,正则表达式就是一种规则,就像我们通过dtd验证xml是不是符合某种规则,正则就是用来验证我们的字符串是不是符合某种规则

2,正则可以理解成筛子,将网页上我们需要的数据给筛选出来

3,正则表达式是一门语言,不依赖于任何其他的语言,只是其他语言如何去支持正则

学习的内容:

(1)正则的语法如何

(2)其他语言如何支持正则表达式:(javascript如何支持正则表达式)

Javascript操作正则是通过RegExp这个对象来实现的

获得这个对象:

New RegExp(正则表达式,模式修正符)

快捷语法: /正则表达式/模式修正符

常用的方法:

Test() 检测字符串是否含有符合我们规则的字符,返回布尔类型的值

Exec() 检测字符串是否含有符合我们规则的字符,如果有返回匹配到的值,否则返回null

表示字符集 【】

【】中 - 表示的是 一个范围

[a-z] 表示小写字母

[A-Z] 大写字母

[0-9] 表示所有的数字

[za] z 或 a 二选1

[]中 ^ 代表 非

var reg = /[^a-z]/;

var str = 123;

alert(reg.exec(str));

中括号外面 ^ 代表 某个字符开始 $代表以某个字符结束

var reg = /^h[a-z]{8}d$/;

var str = 'helloworld';

alert(reg.exec(str));

| 代表或

var reg = /a|b|c/;

var str = 'a';

alert(reg.exec(str));

. 表示任意字符,但是不匹配 换行符(\n)

var reg = /./;

var str = '*';

alert(reg.exec(str));

\ 转义字符,将后面字符原样输出

var reg = /\./;

var str = 'www.hbsi.com';

alert(reg.exec(str));

常用的转义字符来表示 某个字符

\w 所有的字母数字下划线 等于 [a-zA-Z0-9_]

var reg = /\w/; //匹配所有所有的字母数字下划线 [a-zA-Z0-9_]

var str = 'www.hbsi.com';

alert(reg.exec(str));

\W 非 \w

\d 所有的数字

\D 所有的字符除了 数字

\s 空格

\S 所有字符,但是除了空格

\b 字符边界(boundary)

\D 所有的字符,但是除了字符边界

var reg = /\b/;

var str = 'this is my book'; //is 替换成 was

alert(str.replace(/\bis\b/,'was'));

Unicode编码表示汉字

因为javascript内置的编码就是 unicode,4e00-9fa5

alert(String.fromCharCode(0x9fa5)); //需要注意:参数要求是16进制

var reg = /[\u4e00-\u9fa5]/;

var str = '你好吗?';

alert(reg.exec(str));

表示字符数量

{} 表示是数量范围

{最小数量,最大数量} {1,6}最少1次最多6次

{1,} 表示1到正无穷

{,5} 表示最多5个

{6} 表示6次

var reg = /[a-z]{5}/;

var str = 'apple';

alert(reg.exec(str))

* 0次或多次 任意多

var str = 'jdghkuhgsiduhisdjgydf';

var reg = /[a-z]*/;

alert(reg.exec(str));

+ + 表示最少1次(1次或多次)

var str = 'hhheeelllooo';

var reg = /h+e+l+o+/;

alert(reg.exec(str));

? 0 次或1次

var str = 'hello';

var reg = /h?e?ll?o/;

alert(reg.exec(str));

匹配QQ号码;

分组的使用

在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回

下标为0 的数组 返回的是 整个正则表达式匹配的结果

下标为1数组,返回的是第一个分组匹配的结果

模式修正符

/正则表达式/模式修正符

i ignoreCase 忽略大小写

var str = 'helloWORLD';

var reg = /[a-z]*/i;

alert(reg.exec(str));

g global 全局匹配

var str = '12345hello67890';

var reg = /\d*/g;

alert(reg.exec(str));

m multiline 多行匹配

正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够

在js代码中,我们通过\n 来换行

在前台页面,通过<br/>

var str = 'apple,\norange,banana';

var reg = /^orange/m;

alert(reg.exec(str));

利用字符串处理正则表达式

字符串对象的方法处理正则表达式

Match() 将正则匹配的结果输出

var str = '12345helloworld';

var reg = /\w*/;

alert(str.match(reg));

Replace() 根据正则匹配的结果,进行字符串替换

var str = 'this is my book';

alert(str.replace(/\bis\b/,'was'));

Split() 字符串拆分,根据分隔符将字符串进行拆分

var str = 'www.hbsi.com';

alert(str.split('.',3));

作业:

验证用户密码:

正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证身份证:

验证email:

验证手机号码:

Javascript正则表达式:

1,正则表达式就是一种规则,就像我们通过dtd验证xml是不是符合某种规则,正则就是用来验证我们的字符串是不是符合某种规则

2,正则可以理解成筛子,将网页上我们需要的数据给筛选出来

3,正则表达式是一门语言,不依赖于任何其他的语言,只是其他语言如何去支持正则

学习的内容:

(1)正则的语法如何

(2)其他语言如何支持正则表达式:(javascript如何支持正则表达式)

Javascript操作正则是通过RegExp这个对象来实现的

获得这个对象:

New RegExp(正则表达式,模式修正符)

快捷语法: /正则表达式/模式修正符

常用的方法:

Test() 检测字符串是否含有符合我们规则的字符,返回布尔类型的值

Exec() 检测字符串是否含有符合我们规则的字符,如果有返回匹配到的值,否则返回null

表示字符集 【】

【】中 - 表示的是 一个范围

[a-z] 表示小写字母

[A-Z] 大写字母

[0-9] 表示所有的数字

[za] z 或 a 二选1

[]中 ^ 代表 非

var reg = /[^a-z]/;

var str = 123;

alert(reg.exec(str));

中括号外面 ^ 代表 某个字符开始 $代表以某个字符结束

var reg = /^h[a-z]{8}d$/;

var str = 'helloworld';

alert(reg.exec(str));

| 代表或

var reg = /a|b|c/;

var str = 'a';

alert(reg.exec(str));

. 表示任意字符,但是不匹配 换行符(\n)

var reg = /./;

var str = '*';

alert(reg.exec(str));

\ 转义字符,将后面字符原样输出

var reg = /\./;

var str = 'www.hbsi.com';

alert(reg.exec(str));

常用的转义字符来表示 某个字符

\w 所有的字母数字下划线 等于 [a-zA-Z0-9_]

var reg = /\w/; //匹配所有所有的字母数字下划线 [a-zA-Z0-9_]

var str = 'www.hbsi.com';

alert(reg.exec(str));

\W 非 \w

\d 所有的数字

\D 所有的字符除了 数字

\s 空格

\S 所有字符,但是除了空格

\b 字符边界(boundary)

\D 所有的字符,但是除了字符边界

var reg = /\b/;

var str = 'this is my book'; //is 替换成 was

alert(str.replace(/\bis\b/,'was'));

Unicode编码表示汉字

因为javascript内置的编码就是 unicode,4e00-9fa5

alert(String.fromCharCode(0x9fa5)); //需要注意:参数要求是16进制

var reg = /[\u4e00-\u9fa5]/;

var str = '你好吗?';

alert(reg.exec(str));

表示字符数量

{} 表示是数量范围

{最小数量,最大数量} {1,6}最少1次最多6次

{1,} 表示1到正无穷

{,5} 表示最多5个

{6} 表示6次

var reg = /[a-z]{5}/;

var str = 'apple';

alert(reg.exec(str))

* 0次或多次 任意多

var str = 'jdghkuhgsiduhisdjgydf';

var reg = /[a-z]*/;

alert(reg.exec(str));

+ + 表示最少1次(1次或多次)

var str = 'hhheeelllooo';

var reg = /h+e+l+o+/;

alert(reg.exec(str));

? 0 次或1次

var str = 'hello';

var reg = /h?e?ll?o/;

alert(reg.exec(str));

匹配QQ号码;

分组的使用

在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回

下标为0 的数组 返回的是 整个正则表达式匹配的结果

下标为1数组,返回的是第一个分组匹配的结果

模式修正符

/正则表达式/模式修正符

i ignoreCase 忽略大小写

var str = 'helloWORLD';

var reg = /[a-z]*/i;

alert(reg.exec(str));

g global 全局匹配

var str = '12345hello67890';

var reg = /\d*/g;

alert(reg.exec(str));

m multiline 多行匹配

正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够

在js代码中,我们通过\n 来换行

在前台页面,通过<br/>

var str = 'apple,\norange,banana';

var reg = /^orange/m;

alert(reg.exec(str));

利用字符串处理正则表达式

字符串对象的方法处理正则表达式

Match() 将正则匹配的结果输出

var str = '12345helloworld';

var reg = /\w*/;

alert(str.match(reg));

Replace() 根据正则匹配的结果,进行字符串替换

var str = 'this is my book';

alert(str.replace(/\bis\b/,'was'));

Split() 字符串拆分,根据分隔符将字符串进行拆分

var str = 'www.hbsi.com';

alert(str.split('.',3));

作业:

验证用户密码:

正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证身份证:

验证email:

验证手机号码:

Javascript正则表达式:

1,正则表达式就是一种规则,就像我们通过dtd验证xml是不是符合某种规则,正则就是用来验证我们的字符串是不是符合某种规则

2,正则可以理解成筛子,将网页上我们需要的数据给筛选出来

3,正则表达式是一门语言,不依赖于任何其他的语言,只是其他语言如何去支持正则

学习的内容:

(1)正则的语法如何

(2)其他语言如何支持正则表达式:(javascript如何支持正则表达式)

Javascript操作正则是通过RegExp这个对象来实现的

获得这个对象:

New RegExp(正则表达式,模式修正符)

快捷语法: /正则表达式/模式修正符

常用的方法:

Test() 检测字符串是否含有符合我们规则的字符,返回布尔类型的值

Exec() 检测字符串是否含有符合我们规则的字符,如果有返回匹配到的值,否则返回null

表示字符集 【】

【】中 - 表示的是 一个范围

[a-z] 表示小写字母

[A-Z] 大写字母

[0-9] 表示所有的数字

[za] z 或 a 二选1

[]中 ^ 代表 非

var reg = /[^a-z]/;

var str = 123;

alert(reg.exec(str));

中括号外面 ^ 代表 某个字符开始 $代表以某个字符结束

var reg = /^h[a-z]{8}d$/;

var str = 'helloworld';

alert(reg.exec(str));

| 代表或

var reg = /a|b|c/;

var str = 'a';

alert(reg.exec(str));

. 表示任意字符,但是不匹配 换行符(\n)

var reg = /./;

var str = '*';

alert(reg.exec(str));

\ 转义字符,将后面字符原样输出

var reg = /\./;

var str = 'www.hbsi.com';

alert(reg.exec(str));

常用的转义字符来表示 某个字符

\w 所有的字母数字下划线 等于 [a-zA-Z0-9_]

var reg = /\w/; //匹配所有所有的字母数字下划线 [a-zA-Z0-9_]

var str = 'www.hbsi.com';

alert(reg.exec(str));

\W 非 \w

\d 所有的数字

\D 所有的字符除了 数字

\s 空格

\S 所有字符,但是除了空格

\b 字符边界(boundary)

\D 所有的字符,但是除了字符边界

var reg = /\b/;

var str = 'this is my book'; //is 替换成 was

alert(str.replace(/\bis\b/,'was'));

Unicode编码表示汉字

因为javascript内置的编码就是 unicode,4e00-9fa5

alert(String.fromCharCode(0x9fa5)); //需要注意:参数要求是16进制

var reg = /[\u4e00-\u9fa5]/;

var str = '你好吗?';

alert(reg.exec(str));

表示字符数量

{} 表示是数量范围

{最小数量,最大数量} {1,6}最少1次最多6次

{1,} 表示1到正无穷

{,5} 表示最多5个

{6} 表示6次

var reg = /[a-z]{5}/;

var str = 'apple';

alert(reg.exec(str))

* 0次或多次 任意多

var str = 'jdghkuhgsiduhisdjgydf';

var reg = /[a-z]*/;

alert(reg.exec(str));

+ + 表示最少1次(1次或多次)

var str = 'hhheeelllooo';

var reg = /h+e+l+o+/;

alert(reg.exec(str));

? 0 次或1次

var str = 'hello';

var reg = /h?e?ll?o/;

alert(reg.exec(str));

匹配QQ号码;

分组的使用

在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回

下标为0 的数组 返回的是 整个正则表达式匹配的结果

下标为1数组,返回的是第一个分组匹配的结果

模式修正符

/正则表达式/模式修正符

i ignoreCase 忽略大小写

var str = 'helloWORLD';

var reg = /[a-z]*/i;

alert(reg.exec(str));

g global 全局匹配

var str = '12345hello67890';

var reg = /\d*/g;

alert(reg.exec(str));

m multiline 多行匹配

正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够

在js代码中,我们通过\n 来换行

在前台页面,通过<br/>

var str = 'apple,\norange,banana';

var reg = /^orange/m;

alert(reg.exec(str));

利用字符串处理正则表达式

字符串对象的方法处理正则表达式

Match() 将正则匹配的结果输出

var str = '12345helloworld';

var reg = /\w*/;

alert(str.match(reg));

Replace() 根据正则匹配的结果,进行字符串替换

var str = 'this is my book';

alert(str.replace(/\bis\b/,'was'));

Split() 字符串拆分,根据分隔符将字符串进行拆分

var str = 'www.hbsi.com';

alert(str.split('.',3));

冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷冷
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: