JS正则表达式

正则表达式
admin@163.com
邮件的规则:
1.前边可以是xxx
2.跟着一个@
3.后边可以是xxx.com

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。

// 创建正则表达式的对象
/**
* 语法:
*     var 变量 = new RegExp("正则表达式","匹配模式");
*     匹配模式有两种:
*         1、忽略大小写    i
*         2、全局匹配模式  g
*/

// 检查一个字符串中是否包含a
var reg = new RegExp(“a”, "i");

/**
* 正则表达式的方法:
*     test()
*       - 使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,符合返回true,否则返回false
*/
var str = "a";
console.log(reg.test(str));
使用字面量来创建正则表达式

使用字面量的方式创建更加简单,使用构造函数创建更加灵活。

/**
* 语法:var 变量 = /正则表达式/匹配模式
*/
var reg = /a/i;

// 创建一个正则表达式,检查一个字符串中是否有a或b
//使用 | 表示或者的意思
reg = /a|b/;

/**
* []中的内容也是或的关系
* [ab] == a|b
* [a-z] 任意小写字母
* [A-Z] 任意大写字母
* [A-z] 任意字母
* [^ ] 除了[]中的都可以
* [^ab] 除了a或b都能匹配
* [0-9] 任意数字
*/
reg = /[a-z]/

// 检查一个字符串中是否含有abc或adc或aec
reg = /a[bde]c/
console.log(reg.test("aec"));

/**
* 量词
*   - 通过量词可以设置一个内容出现的次数,仅对{}之前的内容有用
*   - {n} 正好出现n次
*   - {m,n} 出现m~n次
*   - {m,} 出现m次以上
*   - + 至少一个 
*   - * 0~n个,相当于{0,}
*   - ? 0或1个都行,相当于{0,1}
*/
var = reg = /(ab){3}/
console.log(reg.test("ababab")); // true

reg = /ab{1,3}c/;
console.log(reg.test("abc")); // true

/**
* 检查一个字符串中是否以a开头
* ^ 表示开头
* $ 表示结尾
* 如果在正则表达式中同时使用^ $,则要求字符串必须完全符合正则表达式
*/
reg = /^a/; // 匹配开发为a
reg = /a$/; // 匹配结尾为a
reg = /^a|a$/; //以a开头,或者,以a结尾
console.log(/^a/.test("abc")); // true
console.log(/^a/.test("bac")); // false

/**
* 检查一个字符串中是否含有 .
* . 表示任意字符
* 在正则表达式中使用\作为转义字符
* \. 表示 .
* \\ 表示 \
*/
  • 注意:在使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,如果要使用\,则需要使用\\代替。
/**
* \w   - 任意字母、数字、_  [A-z0-9]
* \W   - 除了字母、数字、_  [^A-z0-9]
* \d   - 任意数字 [0-9]
* \D   - 除了数字 [^0-9]
* \s   - 包含空格
* \S   - 全是空格
* \b   - 单词边界
* \B   - 除了单词边界
*/
var reg = /child/;
console.log(reg.test("hello children")); // true
reg = /\bchild\b/
console.log(reg.test("hello children")); // false
console.log(reg.test("hello child .")); // true

// 去除字符串中的前后空格
// str = str.replace(/^\s+|\s+$/g, "");
// 去除开头的空格
// str = str.replace(/^\s+/, "");
// 去除结尾的空格
// str = str.replace(/\s+$/, "");

/**
* 手机号正则
* 
* 手机号规则:
*   1.以1开头
*   2.第二位3-9任意数字
*   3.三位以后任意数字
*/
var phoneReg= /^1[3-9][0-9]{9}$/;

/**
* 电子邮件
*   hello  .nihao  @  abc  .com  .cn
* 任意字母数字下划线  .任意字母数字下划线  @  任意字母数字  .任意字母(2-5位)  .任意字母(2-5位)
*/
var emailReg= /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值