正则表达式的相关知识点

只能够操作字符串

var str='ab215d af7 67a c2 de99f';

alert(re.test(str));       test检测字符串是否符合规定的规则

var re= /d/          1个 d代表1个数字

var re= /d+/g           global     全局匹配   +好多个

alert(str.match(re))  

search()

字符串搜索

返回出现的位置

忽略大小写:i——ignore

判断浏览器类型

match()

获取匹配的项目

量词:+

量词变化:d、dd和d+

全局匹配:g——global

例子:找出所有数字

replace()

替换所有匹配

返回替换后的字符串

例子:敏感词过滤

alert(str.replace(/a/gi,”T”);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

字符类

[ab]  表示a|b

[1 23]   表示1| |2|3

var re=/1[abc]2/g;        //1和2之间出现a也行b也行c也行

//var re=/1a2|1b2|1c2/;   //效果同上

任意字符

[abc]

例子:o[usb]t——obt、ost、out

范围

[a-z] 所有的英文

[0-9] 所有的数字

[0-9a-z]数字或者字母

例子:id[0-9]——id0、id5

排除

[^a]         除了a以外什么都行

例子:o[^0-9]t——oat、o?t、o t

转义字符

.(点)——任意字符

d、  数字  digital

w、  word  [a-z0-9_]  还有个下划线

s    space

var str='  fd rr  erre fff  ';

alert('('+str.replace(/s+/g, '')+')');

D、   [^0-9]   除了0-9  非数字

W、   [^a-z0-9_]

S     除了空白字符以外的

量词

出现的次数

{n,m},至少出现n次,最多m次

例子:查找QQ号

常用量词

{n}正好n次

{n,m}至少n次,最多m次

{n, }至少n次,最多不限

{ ,m }至少不限,最多m次

{n}    正好n次

*任意次 {0,}  建议不使用

?   零次或一次{0,1}

+        {1,}       一次或任意次{1,}

高级表单校验

校验邮箱   var re=/^w+@[a-z0-9]+.[a-z]{2,4}$/;

行首行尾   var re=/^s+|s+$/g;

去除空格: ^s*|s*$

匹配中文:  var re=/[u4e00-u9fa5]/;

完美版getByClass

单词边界:    var re=new RegExp('\b'+sClass+'\b', 'i');

if(re.test(aEle[i].className))

字符串操作包括哪些?举例说明

charAt   获取某一位置的字符串

search   查找某一字符第一次出现的位置

substring  有目标的额截取一部分字符串

split         切割字符串

 

什么是正则表达式?如何创建正则对象?

----把描述的规则用正则的语法说出来   

----JS风格——new RegExp(“a”, “i”)

----perl风格——/a/i

  

正则有几种选项?分别是什么意思?

i 忽略大小写

g 全局匹配

search、match、replace是做什么的?怎么用?

search  查找

match   匹配

replace 把符合规则的一部分替换成相应字符串

字符类([])包括几种情况?

任意字符 范围 排除

[abc]   [0-9a-z]   [^a]

正则有哪些转义字符?分别是什么意思?

.

d

w

s

D

W

S

什么是量词?各个量词分别有什么作用?

{n}正好n次

{n,m}至少n次,最多m次

{n, }至少n次,最多不限

{ ,m }至少不限,最多m次

{n}    正好n次

*任意次 {0,}  建议不使用

?   零次或一次{0,1}

+        {1,}       一次或任意次{1,}

举几个正则表达式的例子,比如:邮件、中文等

高级表单校验

校验邮箱   var re=/^w+@[a-z0-9]+.[a-z]{2,4}$/;

行首行尾   var re=/^s+|s+$/g;

去除空格: ^s*|s*$

匹配中文:  var re=/[u4e00-u9fa5]/;

完美版getByClass

function getByClass(oParent, sClass)

{
    var aEle=document.getElementsByTagName('*');
    var re=new RegExp('\b'+sClass+'\b', 'i');
    var i=0;
    var aResult=[];
 
    for(i=0;i<aEle.length;i++)
    {
        if(re.test(aEle[i].className))
        {
            aResult.push(aEle[i]);
        }
    }
 
    return aResult;
}

单词边界:    var re=new RegExp('\b'+sClass+'\b', 'i');

if(re.test(aEle[i].className))

 

敢想,敢做
原文地址:https://www.cnblogs.com/ZL8655/p/5375807.html