使用字面量来创建正则表达式
语法: var变量=/正则表达式/匹配模式
使用字面量的方式创建更加简单
使用构造函数创建更加灵活
var reg=/a/i; //相当于===var regex = new RegExp("a","i");
console.log(reg.test("ABC"));
创建一个正则表达式,检查一个字符串中是否有a或b
使用│表示或者的意思
reg=/a|b|C/i;
创建一个正则表达式检查一个字符串中是否有字母
[]里的内容也是或的关系
[ab] == a| b
[a-z]任意小写字母
[A-Z]任意大写字母
[A-z]任意字母
reg=/[ab]/;
reg=/[a-z]/;
检查一个字符串中是否含有abc或adc或aec
reg=/a[bde]c/;
[^ ] 除了
reg=/[^ab]/;
量词
-通过量词可以设置一个内容出现的次数
-量词只对它前边的一个内容起作用
- {n}正好出现n次
- {m,n}出现m-n次
- {m, } m次以上
-
- 至少一个,相当于{1,}
-
- 0个或多个,相当于{0,}
- ? 0个或1个,相当于{0,1}
var reg=/a{3}/;
reg=/a{1,3}/;
reg=/(ab){3}/;
console.log(reg.test("ababab"));
reg=/a{1,}/;
reg=/ab+c/;
reg=/ab*c/;
reg=/ab?c/;
console.log(reg.test("ac"));
检查一个字符串中是否以a开头
^表示开头 注:/^a/是以a开头意思 与[^a] 是除了a的意思
$表示结尾
reg=/^a/;
console.log(reg.test("agsdg"));
reg=/a$/;
console.log(reg.test("sdga"));
如果在正则表达式中同时使用^$则要求字符串必须完全符合正则表达式
reg=/^bbz$/;
console.log(reg.test("bbz"));
创建一个正则表达式,用来检查一个字符串是否是一个合法手机号
手机号的规则:
1 3 567890123 (11位)
1.以1开头
2.第二位3-9任意数字3.三位以后任意数字9个
^1 [3-9] [0-9]{9}
var str="13476669476";
var reg=/^1[3-9][0-9]{9}$/;
console.log(reg.test(str));
检查一个字符串中是否含有﹒
.表示任意字符
在正则表达式中使用\作为转义字符
\.来表示.
\表示
注意,使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,
如果要使用\则需要使用\来代替
var reg=/\./;
console.log(reg.test("fad.sf"));
reg=/\\/;
console.log(reg.test("fdsf\\gfdh"));
var regex= new RegExp("\\\\");
console.log(regex.test("dfsg\\aas"));
\ w
-任意字母、数字、[A-z0-9]
\w
-除了字母、数字、[^A-z0-9]
\d
-任意的数字[0-9]
\D
-除了数字[^e-9]
\s
空格
\S
除了空格
\b
单词边界
\B
除了单词边界
reg=/\w/;//任意字母、数字
reg=/\W/;//除了字母、数字
reg=/\d/;//任意的数字
reg=/\D/;//除了数字
reg=/\s/;//空格
reg=/\S/;//除了空格
创建一个正则表达式检查一个字符串中是否含有单词hello
reg=/\bhello\b/;
console.log(reg.test("hello word"));
reg=/\Bhello\B/;
console.log(reg.test("ADhelloAD word"));
接收一个用户的输入
var str = prompt(“请输入你的用户名:”);
var str=" hello word ";
// 去除掉字符串中的空格
// 去除空格就是使用""来替换空格
console.log(str.replace(/^\s*|\s*$/,""));