1. 正则表达式用于定义一些字符串的规则:计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。 2. 创建正则表达式对象: var reg=new RegExp("正则表达式","匹配模式"); //结果:/内容/ 匹配模式:值:i:忽略大小写 g:全局匹配模式 使用字面量来创建正则表达式: 语法:var 变量=/正则表达式/匹配模式; var express=/a/i; var result=express.test("abcdse"); console.log(result); 检查一个字符串中是否有a或b: var express=/a|b|c/i; 或var express=/[ab]/i; 检查是否有字母:[A-z] 检查是否有abc,adc,aec: var express=/a[bde]c/i; [^ab]:除了ab以外都为true [0-9]:任意数字 [a-z]:任意小写字母 3. 正则表达式的方法:test( )使用这个方法可以用来检查一个字符串是否符合正则表达式,符合返回true,不符合返回false; var str='a'; //用来检验字符串中是否含有a var result=reg.test(str); console.log(result); 4. 字符串与正则表达式 split:把字符串分割为字符串数组。 根据字母拆分字符串: //不指定全局匹配也会全部改变 var express='a1b2n3v4b5c5g7'; search:搜索字符串中是否含有指定内容 若搜索到指定内容,则返回第一次出现的索引,若没有搜索到返回-1 只会查找第一个 var express="a1 b2 n3 v4 b5 c5g7"; var express="a1 b2 abc v4 aec c5g7"; match( ):根据正则表达式,从一个字符串中将符合条件的内容提取出来 默认情况下只会找到第一个符合要求的内容,找到以后就停止检索,将正则表达式设置为全局匹配,就会匹配到所有内容。 会将匹配到的内容封装到一个数组中返回,即使只搜索到一个结果。 var express="a1b2abcv4aecc5g7"; replace():将字符串中指定内容替换为新的内容。 参数:被替换的内容,可以接受一个正则表达式作为参数 新内容 默认只替换第一个 var express="a1b2abcv4aecc5g7"; 5. 量词:通过量词可以设置一个内容出现的次数:{n}正好出现n次,量只对它前面一个内容起作用;(ab){3}==ababab; ab{1,3}c:出现一次到三次b ab{3, }c:出现三次以上b ab+c:出现至少一个b ab*c:出现0个或多个b ab?c:出现0个或1个b ^a:以a开头 a$:以a结尾 ^a|a$:以a开头或者以a结尾 ^a$:只能是一个a var str=/a{3}/; 6. 检查一个字符串是否为一个合法手机号 以1开头 ^1 第二位3-9任意数字 [3-9] 三位以后任意数字 [0-9]{9}$ var reg=/^1[3-9][0-9]{9}$/; 7. 检查一个字符串中是否含有. . 表示任意字符 使用 \ 来表示转义字符,使用 \ . 来表示 . 在构造函数要使用 \ 要利用 \\ 来代替
var reg=/\bchild\b/; 8. 接收一个用户的输入 var str=prompt("请输入你的用户名:"); 9. 写一个电子邮件的正则 任意的字母数字下划线 . 任意的字母数字下划线@ 任意字母数字 .任意字母(2-5). 任意字母(2-5) \w{3,} (\.\w+)* @ [A-z0-9]+ ( \.[A-z]{2-5}){1,2} 可以在网上搜索 |
|