首先我们先了解下什么是正则表达式?

正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

说白了就是一种人为规定的搜索模式规则。

正则应用范围很广,可用于所有文本搜索和文本替换的操作。

语法规范:/正则表达式主体/修饰符(可选)

正则表达式的字符串方法 : search() 和 replace()。

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

function myFunction() {    var str = "hello JavaScript";     var n = str.search("JavaScript");    console.log(n);}控制台输出:n=6

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

function myFunction() {    var str = "hello JavaScript";     var txt = str.replace(/JavaScript/i,"jQuery");    console.log(txt);}控制台输出:hello jQuery

补充:test()方法,用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

常用的正则表达式修饰符

i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。

正则表达式语法

表达式

[abc]查找括号之间的任何的字符

[0-9]查找任何从0至9的数字

元字符

\d查找数字 \s查找空白字符 \b匹配单词边界

量词

n+匹配任何包含至少一个n的字符串;n*匹配任何包含零个或多个n的字符串。

案例:

手机号的规则:(1)以1开头(2)第二位是3-9之间的任意数字(3)三位后任意数字9个

手机号的正则表达式:

var reg =/^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/;var myphone="19536221512"console.log(reg.test(myphone));输出的结果是:true