正则表达式常用的限定符&&Cookie

^ 以什么开头

$ 以什么结尾

常用的限定符

字符 描述

* 匹配前面的子表达式零次或多次

+ 匹配前面的子表达式一次或多次

? 匹配前面的子表达式零次或一次

{n} 匹配确定的 n 次

{n,} 至少匹配n 次

{n,m} 最少匹配 n 次且最多匹配 m 次

 String类中可以支持正则的方法:

search =》返回匹配字符串的下标,否则返回-1

match=》如果没有找到任何匹配的文本, 返回 null。否则,它将返回一个数组(依赖于是否具有全局标志 g)

replace=》返回一个新的字符串

split=》返回一个字符串数组

/*search()方法-使用正则表达式来检索字符串中的kgc*/,indexOf不可以使用正则

var str="hello abc";

console.log(str.search(/abc/))==6;  

console.log(str.search(/ABC/))==-1;  

console.log(str.search(/ABC/i))==6;

/*match()方法-使用正则表达式来检索字符串中的所有数字*/

var str="1 and 2 and 3";

console.log(str.match(/\d/))=;

console.log(str.match(/efg/))==null;

console.log(str.match(/\d/g));

/*replace()方法-使用 "abc" 替换字符串中的 "yang"*/

var str="hello yang";

console.log(str.replace(/yang/,"abc"));

var str="hello yang, How are you?yang";

console.log(str.replace(/yang/g,"abc"));

 

 

/*split()方法-把单词分割为字母*/

console.log("hello".split(""));

console.log("hello".split("",3)) 第二个参数表示分割成的数组长度为3,["h","e","l"];

var str="h1e2l3l4o"

console.log(str.split(/\d/));

正则验证

验证26个英文字母组成的字符串

验证由数字和26个英文字母组成的字符串

验证由数字、字母、下划线组成的字符串

验证汉字

/*验证26个英文字母组成的字符串*/

var str="sgfhdfGIYYjhj";

var reg=/^[a-zA-Z]+$/;   //一次或多次 "+"

console.log(reg.test(str));

/*验证由数字和26个英文字母组成的字符串*/

var str="abc123DFjh";

var reg=/^[0-9a-zA-Z]+$/;

console.log(reg.test(str));

/*验证由数字、字母、下划线组成的字符串*/

var str="abc_123_DFjh";

var reg=/^\w+$/;

console.log(reg.test(str));

/*验证汉字*/

var str="我的祖国";

记忆法:有事100,有酒罚我

var reg=/^[\u4e00-\u9fa5]+$/

console.log(reg.test(str));

例1:

使用正则验证如下需求

首尾有空格的字符串(分别验证清除前面、后面、前后以及所有空格的方法)

验证手机号码使用|,表示或

验证邮箱

/*验证首尾有空格的字符串*/

        var str="    abc   "

        var reg=/^\s+/   //去前面空格

        console.log(str.replace(reg,''));

        //去后面的空格

        var str=' abc  '

        var reg=/\s+$/

        console.log(str.replace(reg,''));

        //去前后的空格

        var str=' abc  '

        var reg=/^\s+|\s+$/g

        console.log(str.replace(reg,''));

        //清除所有空格

        var str=' abc hy  '

        var reg=/\s+/g

        console.log(str.replace(reg,''));

    /*字符串的trim()[括号内为空]方法只能去除前后空格里面的空格去不掉*/

var str=' abc hy  '

console.log(str.trim());

        /*验证手机号码*/

        var str="13502023437";

        var reg=/^1[34578][0-9]{9}$/

        console.log(reg.test(str));

        /*验证邮箱*/

        var str="huyang@163.com";

        var reg=/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/

     或者:/^[\w-]+@[\w-]+(\.[\w-]+)+$/

        console.log(reg.test(str));

(\表示转义符 把.转化为字符串的,并且使用()分组,就是把.com 或者.cn当成一组)

()后面使用+号,表示可能有一组,可能有多组;

例2:

使用正则给如下字符串中的数字加上中括号

var str='abc123efg';  变成'abc[1][2][3]efg'

 例3:表单验证

 

user.οnblur=function(){

     reg=/^[\w\u4e00-\u9fa5]{6,12}$/;

     if(user.value==''){

            user_p.innerHTML='<i class="err"></i>不能为空';

            return false;

        }

        else if(!reg.test(user.value)){

            user_p.innerHTML='<i class="err"></i>长度不在范围内或者存在非法字符'

            return false;

        }

        //用户名输入与要求一致

        else{

            user_p.innerHTML='<i class="ok"></i>正确'

            return true

        }

}

表单验证—登录密码需求

psd.οnblur=function(){

        var reg=/^\w{6,12}$/;

        var reg1=/[^0-9]/;

        var reg2=/[^a-zA-Z]/;

        if(psd.value==''){

            psd_p.innerHTML='<i class="err"></i>不能为空';

            return false;

        }

        //长度在6-12之间 字母数字下划线

        else if(!reg.test(psd.value)){

            psd_p.innerHTML='<i class="err"></i>长度不在范围内或者存在非法字符'

            return false;

        }

  else if(!reg1.test(psd.value))

        {

            psd_p.innerHTML='<i class="err"></i>不能全是数字'

            return false;

        }

        else if(!reg2.test(psd.value)){

            psd_p.innerHTML='<i class="err"></i>不能全是字母'

            return false;

        }

        //密码输入与要求一致

        else{

            psd_p.innerHTML='<i class="ok"></i>正确'

            return true;

        }

表单验证—确认密码需求

psd2.οnblur=function(){

        if(psd2.value==""){

            psd2_p.innerHTML='<i class="err"></i>不能为空';

            return false;

        }

        //两次密码输入不一致

        else if(psd.value!=psd2.value){

            psd2_p.innerHTML='<i class="err"></i>两次密码不一致';

            return false;

        }

        //密码输入与要求一致

        else{

            psd2_p.innerHTML='<i class="ok"></i>正确'

            return true;

        }

}

Cookie概念

Cookie 用于存储页面的用户信息

常见例子:自动登录、记住用户名或密码

cookie特性

同一个网站中所有页面共享一套Cookie

域名和端口一致,就算路径不一样也能共享一套cookie

数量、大小有限

和localstorage\sessionstorage区别是cookie所占的数量有限,存储的东西比他们少,浏览器一般只允许存放300多个cookie,每个站点最多存放20个cookie,每个cookie的大小限制不超过4kb。

过期时间

操作Cookie

创建Cookie

document.cookie=”名字=值 ”

document.cookie="user=family";

document.cookie="pass=123456";

alert(document.cookie);

注意 JS“=”代表覆盖,cookie“=”代表添加 

使用JavaScript操作Cookie

删除Cookie

过期时间:expires=时间

var oDate=new Date();

oDate.setDate(oDate.getDate()+8);

alert(oDate.getFullYear()+'-'+(oDate.getMonth()+1)+'-'+oDate.getDate());

document.cookie="user=family;expires="+oDate;

 封装Cookie

封装三个函数

setCookie()——创建Cookie

getCookie()——获取Cookie

removeCookie()——删除Cookie

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值