JavaScript正则表达式

创建正则表达式

方式1:
// 创建正则对象 1.正则表达式  2.匹配模式
var reg = new RegExp("ab","i");
var str = "Abc";
console.log(reg.test(str));

方式2:
// 字面量创建正则表达式
var reg = /ab/i;

正则量词

() 表示整体

{n} 正好出现n次
//   /(ab){3}/  ab 出现三次(abababbc) >>> true
{m,} 最少出现m次 最多无上限
{m,n} 最少出现m次 最多n层
+ 至少出现一次
* 0个 或者 多个 {0,}
? 0个或者一个 {0,1}

\. 表示 .
\\ 表示 \
/^开始  $结束/

\w 表示 字母 数字 _ 类似 [A-z0-9_]
\W 表示 除了字母 数字 _ [^A-z0-9_]
\d 表示 任意的数字 [0-9]
\D 表示 除了 任意的数字 [^0-9]
\s 空格
\S 除了空格
\b 单词边界
\B 除了单词边界

示例

// 判断 字符串中是否包含字母a-z
//[a-e] a到e之间的内容
//[A-Z] A到Z之间的内容
//[A-z] 任意字母
//[0-9] 任意数字
//[bev]  bev是或者关系
    
// 检查一个字符串 是否 包含 abc  aec  avc
var reg = /a[bev]c/
//[^A-z] 除了任意的字母
//[^a-z] 除了任意的小写字母
//[^A-Z] 除了任意的大写字母
//[^0-9] 除了任意的数字
var reg  = /[^A-z]/
var str = '#';
console.log(reg.test(str));

// 字符串拆分  (通过正则)
var str = "1a2b3c4d5e6f8t9y7";
var result = str.split(/[A-z]/);
console.log(result)
    
// 字符串 搜索 返回遇到第一个符合正则的字符串下标
var str = 'hello atc hello aec afc';
var result = str.search(/a[bef]c/);
console.log(result)
    
// 通过正则表达式 提起符合条件的内容
var str = "1a2b3c4d5e6f8t9y7AUHJKSUR";
var result = str.match(/[a-z]/ig);
console.log(result);
    

//通过在正则替换字符串中的指定内容
var str = "1a2b3c4d5e6f8t9y7AUHJKSUR";
// 1.要被替换的内容 2.新的内容
var result = str.replace(/[a-z]/gi,'$');
console.log(result);

//除了任意的数字
var str = 'e';
var reg = /^\D$/
console.log(reg.test(str));

// 去除字符中中的前后空格
var str = "  hello zhangsan ";
var reg = /^\s*|\s*$/g
console.log(str.replace(reg,""))

// 检查一个字符串中时候含有zhangsan
var str = "hello zhangsan";
var reg = /\bzhangsan\b/;
console.log(reg.test(str))

// 检查邮箱
//[email protected]
var emailStr = "[email protected]";
var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,3}){1,2}$/;
console.log(emailReg.test(emailStr));
let phomeReg = /^1[3-9][0-9]{9}$/;   //手机号
/^[\u4e00-\u9fa5]$/    //汉字

你可能感兴趣的:(javascript,正则表达式,开发语言)