正则表达式
作用:定义一个特定的验证字符串内容规则的表达式
注:正则表达式并不是JavaScript独有的;JavaScript支持正则表达式
var a = { }; // 定义一个空对象 var b = [ ];// 定义一个空数组
var d = / /; // 定义一个空正则表达式 var c = ( ); 【错误】
i 定义正则表达式
定义一个空的正则表达式时 ---编辑器会报错; 空的正则表达式的值 ---undefined
- 字面量方式
var 正则表达式 = /表达式规则/修饰符
- 构造函数方式
var 正则表达式 = new RegExp(表达式规则,修饰符)
i 正则表达式对象的验证方法
先定义用于验证的字符串;再定义正则表达式的规则;后验证字符串是否符合正则表达式的规则
eg: /表达式规则/.test (所有内容的字符串)
结果:完全相同返回 true [注:必要是匹配和位置无关]
² 直接字符
[ ] 表示字符集合。只要其中任意一个匹配,则返回true 数字: [0-9] 字母: [a-zA-Z]
^ 表示反向集合 d : [0-9] -> 匹配单个数字
? 表示匹配前面一个字符0次或者1次,和{0,1}有相同的效果。
+ 表示匹配前面一个字符1次或者多次,和{1,}有相同的效果。
* 表示匹配前一个字符0次或者是多次。
² 重复规则 –
{n,m} - 匹配前面的字符最少出现n次,最多出现m次;即n <= 次数 <= m
{n} - 匹配前面的字符出现 n 次
² 位置规则
^:表示字符的开始位置; $:表示字符的结束位置
eg: / [ ]{n,m} / ----【连续】出现【n到m次】
/ [数字和字母]{n,m} / ----只要字母和数字有其一即可
/ ^[数字和字母]{n,m} / ----以数字或字母【开头】,且连续出现n到m次
/ {n,m}$ / ---以数字或字母【结尾】,且连续出现n到m次
/ ^[ ]{n,m}$ / ----以数字或字母【结尾】【总共】个数是n到m
8 直接量字符
: 水平制表符 TAB键 或 : 换行符或回车符 ENTER键
8 修饰符
i - 表示不区分大小写; g - 全局搜索; m - 多行搜索;
eg: var 名称 = /正则表达式/ i; var 名称 = new RegExp('[a-z]{3,5}', 'i' );
u 字符串使用正则表达式的方法
² 替换方法
replace(/被替换的内容/,被替换的内容 ) 被替换的内容---使用正则表达式
² 匹配内容—>数组
match(/需匹配的内容/)
返回值:是一个数组; 需匹配的内容---使用正则表达式
(注:若参数为字符串时,返回的数组只有一个元素)
² 查找内容—>位置
search(需查找的内容)
返回值:匹配内容的索引值 (注:如果没有任何内容匹配的话,返回 -1)