正则、Cookie与Storage

1、正则表达式
//匹配字母a,i表示忽略大小写,g表示全文检索

varre=newRegExp('a','ig');

varre2=/a/ig;

varstr='abc';

//调用test方法进行匹配,匹配成功返回true,否则返回false

//alert(re2.test(str));//true

//匹配字母ac,忽略大小写,全文检索

re2=/ac/ig;

//alert(re2.test(str));//false

//匹配数字

varre3=/\d/;

varstr3='123';

//alert(re3.test(str3));//true

str3='123ab1';

//alert(re3.test(str3));//true

//匹配数字,全文检索

re3=/\d/g;

//alert(re3.test(str3));//true

//匹配数字开头并结尾

re3=/^\d$/;

//alert(re3.test(str3));//false

//匹配从开头到结尾有一个或多个数字

re3=/^\d+$/;

//alert(re3.test(str3));//false

//匹配数字、字母、下划线

varre4=/\w/;

varstr4='@asd';

//alert(re4.test(str4));//true

//匹配数字、字母、下划线开头

re4=/^\w/;

//alert(re4.test(str4));//false

str4='as&d';

//alert(re4.test(str4));//true

//匹配从开头到结尾有一个或多个数字、字母、下划线

re4=/^\w+$/;

//alert(re4.test(str4));//false

varstr5='123adfas894fasdfas15122dfad85';

varre5=/\d+/g;//全文检索一个或多个数字

vararr=str5.match(re5);

//alert(arr);//123,894,15122,85

varre6=/d/;//匹配字母d

//alert(str5.search(re6));//4//search相当于indexOf()函数

//replace函数用于替换

varstr6=str5.replace(re5,'*');

//alert(str6);//*adfas*fasdfas*dfad*

//正则表达式的替换功能

vars="Once111a22wolf,3always4a5wolf!";

varregex=/\d+/g;

vars2=s.replace(regex,"");

//console.log(s2);

/*叠词*/

//快快乐乐、高高兴兴

regex=/(.)\1(.)\2/;//()表示分组,.表示任意字符,匹配第一组任意字符再出现一次、第二组任意字符再出现一次

//console.log(regex.test("快快乐乐"));//true

//console.log(regex.test("快乐乐乐"));

//console.log(regex.test("高高兴兴"));//true

//console.log(regex.test("快乐快乐"));

//快乐快乐、高兴高兴

regex=/(..)\1/;//匹配两个任意字符再出现一次

//console.log(regex.test("快乐快乐"));//true

//console.log(regex.test("高兴高兴"));//true

//console.log(regex.test("快快快快"));//true

//console.log(regex.test("快快乐乐"));

//叠词切割

//s = 'sdqqfgkkkhjppppkl';

//regex = /(.)\1+/;

//var arr = s.split(regex);

//console.log(arr);//由于()中的是子表达式,会导致保留一个叠词字母,不符合要求

s='sdqqfgkkkhjppppkl';

regex=/(.)\1+/g;//匹配叠词,即多个重复的字母

vars2=s.replace(regex,"");//将叠词替换为空格

vararr=s2.split('');//再按照空格进行切割

//console.log(arr);//返回["sd","fg","hj","kl"],符合要求

//字符串替换

vars="我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";

vars2=s.replace(/\.+/g,"");//删除所有的点

//console.log(s2);

vars3=s2.replace(/(.)\1+/g,"$1");//全文检索叠词,替换为单个字符,例如多个“我”替换成一个“我”

//console.log(s3);

//提取手机号

//regex = /^1[3578]\d{9}$/;手机号的正则,只能匹配17688888888

vars='我的手机号码是17688888888,曾经用过13187654321,还用过13512345678';

varregex=/1[3578]\d{9}/g;//第一位是1,第二位是3578中的一个,后面9位是任意数字,并全文检索

vararr=s.match(regex);//match方法返回匹配成功的数组

console.log(arr);//["17688888888","13187654321","13512345678"]

2、Cookie

//写cookie

//参数:名称、值、有效期几天、路径

$.cookie('mycookie','ok!',{expires:7,path:'/'});

//读cookie

varval=$.cookie('mycookie');

alert(val);//ok!

3、Storage

//写入

//[{"id":1,"num":2,....},{}..]

localStorage.setItem('mystorage','ok!');

//读取

alert(localStorage.mystorage);//ok!

//写入

//sessionStorage.setItem('name','tom');

//读取

alert(sessionStorage.name);//tom//没有弹undefined

localStorage.setItem('mystorage','{"goods":["1","2"]}');

你可能感兴趣的:(正则、Cookie与Storage)