2019-04-15

正则表达式

1、什么是正则表达式: 

能让计算机读懂的字符串匹配规则。

2、正则表达式的写法:

var re=new RegExp('规则', '可选参数');

var re=/规则/参数;

3、规则中的字符 

1)普通字符匹配:

如:/a/ 匹配字符 ‘a’,/a,b/ 匹配字符 ‘a,b’

2)转义字符匹配:

\d 匹配一个数字,即0-9

\D 匹配一个非数字,即除了0-9

\w 匹配一个单词字符(字母、数字、下划线)

\W 匹配任何非单词字符。等价于[^A-Za-z0-9_]

\s 匹配一个空白符

\S 匹配一个非空白符

\b 匹配单词边界

\B 匹配非单词边界

. 匹配一个任意字符,除了换行符‘\n’和回车符‘\r’

\1 重复子项

4、量词:对左边的匹配字符定义个数 

? 出现零次或一次(最多出现一次)

+ 出现一次或多次(至少出现一次)

* 出现零次或多次(任意次)

{n} 出现n次

{n,m} 出现n到m次

{n,} 至少出现n次

5、任意一个或者范围 

[abc123] : 匹配‘abc123’中的任意一个字符

[a-z0-9] : 匹配a到z或者0到9中的任意一个字符

6、限制开头结尾 

^ 以紧挨的元素开头

$ 以紧挨的元素结尾

7、修饰参数:

g: global,全文搜索,默认搜索到第一个结果接停止

i: ingore case,忽略大小写,默认大小写敏感

m: multiple lines,多行搜索(更改^ 和$的含义,使它们分别在任意一行对待行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配)

8、常用函数 

1、test

用法:正则.test(字符串) 匹配成功,就返回真,否则就返回假

2、search

用法:字符串.search(正则) 匹配成功,返回位置,否则返回-1

3、match

用法: 字符串.match(正则);匹配成功,就返回匹配成功的数组,否则就返回null

4、replace

用法:字符串.replace(正则,新的字符串) 匹配成功的字符去替换新的字符

正则默认规则 

匹配成功就结束,不会继续匹配,区分大小写

本地存储

本地存储分为cookie,以及新增的localStorage和sessionStorage

1、cookie 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,在设置的过期时间之前有效。

jquery 设置cookie

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

jquery 获取cookie

$.cookie('mycookie');

2、localStorage 存储在本地,容量为5M或者更大,不会在请求时候携带传递,在所有同源窗口中共享,数据一直有效,除非人为删除,可作为长期数据。

//设置:

localStorage.setItem("dat", "456");

localStorage.dat = '456';

//获取:

localStorage.getItem("dat");

localStorage.dat

//删除

localStorage.removeItem("dat");

3、sessionStorage 存储在本地,容量为5M或者更大,不会在请求时候携带传递,在同源的当前窗口关闭前有效。

localStorage 和 sessionStorage 合称为Web Storage , Web Storage支持事件通知机制,可以将数据更新的通知监听者,Web Storage的api接口使用更方便。

iPhone的无痕浏览不支持Web Storage,只能用cookie。

表单验证

别克汇-注册

css/bootstrap.css" />

js/jquery-1.12.4.min.js">

js/register.js">

index.html"class="logo">

欢迎注册

已有账号?  login.html">请登录

注册账户:提示信息

密码:提示信息

重复密码:提示信息

邮箱:提示信息

提示信息

注册

Copyright ©  2013-2015, All Rights Reserved版权所有 车享

沪ICP备14000481号

js部分

$(function(){

//定义变量,决定最终是否可以提交表单

var error_name = false;//默认没有错误

var error_pwd = false;

var error_cpwd = false;

var error_email = false;

var error_allow = false;//是否勾选了协议

//失去焦点时验证用户名

$('#username').blur(function() {

check_username();

});

//获取焦点时隐藏提示信息

$('#username').focus(function() {

$(this).prev().hide();

});

//密码

$('#password1').blur(function() {

check_pwd();

});

$('#password1').focus(function() {

$(this).prev().hide();

});

//确认密码

$('#password2').blur(function() {

check_cpwd();

});

$('#password2').focus(function() {

$(this).prev().hide();

});

//邮箱

$('#email').blur(function() {

check_email();

});

$('#email').focus(function() {

$(this).prev().hide();

});

//协议

$('#allow').click(function() {

//如果复选框的属性是已勾选

if($(this).prop('checked')==true){

error_allow = false;

$('.error_tip2').hide();

}else{

error_allow = true;

$('.error_tip2').html('请勾选同意!').show();

}

});

function check_username(){

var val = $('#username').val();

var re = /^\w{5,15}$/i;//匹配字母数字下划线,5到15位,忽略大小写

if(val == ''){

$('#username').prev().html('用户名不能为空!');

$('#username').prev().show();

error_name = true;

return;

}

if(re.test(val)){

error_name = false;

}else{

$('#username').prev().html('用户名是包含数字、字母、下划线的5-15位字符');

$('#username').prev().show();

error_name = true;

return;

}

}

function check_pwd(){

var val = $('#password1').val();

var re = /^[a-zA-Z0-9@\$\*\.\!\?]{6,16}$/;//[]表示范围,允许字母数字@$*.!?,6-16位

if(val == ''){

$('#password1').prev().html('密码不能为空!');

$('#password1').prev().show();

error_pwd = true;

return;

}

if(re.test(val)){

error_pwd = false;

}else{

$('#password1').prev().html('密码是包含数字、字母、@$*.!?的6-16位字符');

$('#password1').prev().show();

error_pwd = true;

return;

}

}

function check_cpwd(){

var val = $('#password1').val();

var cval = $('#password2').val();

if(val == cval){

error_cpwd = false;

}else{

$('#password2').prev().html('再次输入的密码不一致!');

$('#password2').prev().show();

error_cpwd = true;

return;

}

}

function check_email(){

var val = $('#email').val();

var re = /^[a-zA-Z0-9][\w\.]*@[\w]+(\.[\w]{2,3}){1,2}$/;//字母或数字开头、一个或多个字母数字下划线、@、字母数字下划线、.字母数字下划线2-3位

if(val == ''){

$('#email').prev().html('邮箱不能为空!');

$('#email').prev().show();

error_email = true;

return;

}

if(re.test(val)){

error_email = false;

}else{

$('#email').prev().html('邮箱格式不正确');

$('#email').prev().show();

error_email = true;

return;

}

}

$('.form').submit(function() {

//防止用户上来就直接点提交,上面验证都未执行,所以先执行一次

check_username();

check_username1();

check_pwd();

check_cpwd();

check_email();

if(!(error_name == false && error_pwd == false && error_cpwd == false && error_email == false && error_allow == false)){

return false;

}

});

})

你可能感兴趣的:(2019-04-15)