首先我们先了解下什么是正则表达式?
正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
说白了就是一种人为规定的搜索模式规则。
正则应用范围很广,可用于所有文本搜索和文本替换的操作。
语法规范:/正则表达式主体/修饰符(可选)
正则表达式的字符串方法 : 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