关于JavaScript中的正则表达式
什么是正则表达式
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
1.创建第一个正则表达式
var reg = new RegExp("a","i");`
console.log(reg.test("abc"));
var 变量名 = new RegExp("正则表达式","匹配模式");
//test()这个方法是检查一个字符串是否符合正则表达式的规则,如果符合会返回true反之false.
匹配模式分两种:i 忽略大小写 g 全局匹配模式
2.使用字面量创建正则表达式
语法: var 变量= /正则表达式/匹配模式
var var reg = /a/i;
eg:创建一个正则表达式,检查一个字符串中是否有a或者b
var reg = /a|b|c/;
console.log(reg.test("bacd"));
控制台会返回true?false?
可以自己试验一下。
3.知识点和例子
// []里的内容也是或的关系
// [ab] == a|b
// [a-z]任意小写字母
// [A-Z]任意大写字母
// [A-z]任意字母
// [0-9]任意的数字
eg:创建一个正则表达式判断是否含有字母
var reg = /[A-z]/;
eg2:检查一个字符串中是否含有abc 或aec 或 adc
var reg = /a[bed]c/;
4.[^ ]除了
reg = /[^ab]/;
console.log(reg.test("abc"));
除了的意思就是除了里边的内容都可以,多用于筛选。
5. 量词
量词
通过量词可以设置一个内容出现的次数
量词只对他前边的一个起作用
{n}正好出现n次
{m,n}m到n次
{m,}m次以上
+ 至少一个
* 0个或多个,相当于{0,}
? 0个或1个 相当于{0,1}
eg:判断a是否出现三次
var reg = /a{3}/;
console.log(reg.test("aaabc"));
大家可以自己去尝试这些方法
另外可以用正则做的事情有很多例如我自己写的一个小例子不完善只是作为例子而已:
var telephonenumber = "你想要规定的号码";
var reg = /^1[3-9][0-9]{9}/;
console.log(reg.test(telephonenumber));
var a = prompt("请输入你的手机号");
if (reg.test(a) == true) {
alert("谢谢");
} else {
alert("请输入正确的手机号!");
}
如有侵权联系删除,另外大多数来自B站李立超老师的教学,大家可以去学习原视频。
https://www.bilibili.com/video/BV1p4411u7TT?p=86