正则表达式----笔记
1.操作字符串的四种方法
search 返回要查找字符串第一次位置,没有找到的话返回-1
substring 截取字符串 substring(1,4)从字符串的第一个位置开始,到第四个位置结束,包含第一个位置不包含第四个位置
charAt 选取在特定位置上的一个字符
split 把字符串分成几部分,组成一个数组
2.正则表达式,,,,,,台湾翻译成 规则表达式
正则表达式是操作字符串的,把规则用计算机语言来描述
3.创建正则表达式的2中方式
var re = new RegExp('a')
var re = /a/;
4. var re = /a/gi; g代表字符串的全局,i代表不区分大小写
5.转义字符
. 代表任意字符
\d digital [0-9] 数字
\D [^0-9] 非数字
\w word [a-z0-9_] 数字字母下划线
\W [^a-z0-9_] 非数字字母下划线
\s space 空白字符
\S 非空白字符
\b 单词边界
6.量词
{n,m} 最少n次,最多m次
{n,} 最少n次,最多不限
{,m} 最少不限,最多m次
{n} 正好n次
+ {1,} 最少1次,最多不限
* {0,} 任意次
? {0,1} 0次或者1次
7.
str.search(re); 在str字符串中找re匹配的第一个位置,没有找到返回0
re.test(str); 在str字符串中是否有匹配re规则的,存在返回true,否则返回false;
str.match(re); 在str中找到匹配re规则的字符串并放回
str.replace(re,"tt"); 在str中找到匹配re规则的字符串并用tt来替换
8.[abc]意思是或者a或者b或者c 与 a|b|c同一个意思
9.检测邮箱
数字字母或者下划线 @ 数字或者字母 . 字母(2到4位)
var re=/\w+@[a-z0-9]+\.[a-z]{2,4}/gi;
这样检测的话 re.test(str);
如果str="陈列leo@126.com";或者"leo@126.comer"
这样返回的也是true; 原因是只是检测出来包含这个规则的str,要考虑进去行首与行尾
var re = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/gi;
这样就不会出错了
10.检测中文 [\u4e00-\u9fa5]