今天我们通过实现用户注册页面验证来学习js当中的正则表达式RegExp对象。
1. 题目:正则表达式实现用户注册页面验证 。
在各文本框中输入信息,在文本框失去焦点时,验证信息,如果输入的信息部满足要求,则提示信息输入有误。每个文本框的具体信息如下:
用户名:由英文字母、数字、下划线组成,长度为6-15个字符,并且以英文字母开头。密码:由英文字母和数字组成,长度6-15。邮箱地址:包含@和.符号,且以.com或者.cn结尾。手机号码:11位数字,且以1开头。出生日期:年份在1900-,以yyyy-mm-dd格式。
2.分析
(1)常见的正则表达式解析
(2)各正则表达式定义
用户名:由英文字母、数字、下划线组成,长度为6-15个字符,并且以英文字母开头
var reg1=/^[a-zA-Z]\w{5,14}$/;密码:由英文字母和数字组成,长度6-15。
var reg2=/^[a-zA-Z0-9]{6,15}$/;
邮箱地址:包含@和.符号,且以.com或者.cn结尾.
var reg3=/^\w+@\w+\.(com)$|(cn)$/;
手机号码:11位数字,且以1开头
var reg4=/^1\d{10}$/;或者var reg4=/^1\[0-9]{10}$/;
出生日期:年份在1900-,以yyyy-mm-dd格式.
出生日期稍微复杂一点,接下来我们分段来分析:
年份:1900-:
1900-1999, 表示成(19\d{2})2000-,表示成(20[0-1]\d)月份1-12月:
01-09和0-9表示成:0?[1-9]10-12表示成1[0-2]日数1-31:
01-09和0-9表示成:0?[1-9]10-19,20-29表示成[1-2]\d30-31,表示成3[0-1]所以, var reg5=/^((19\d{2})|(20[0-1]\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/今天就讲到这里正则表达式的写法啦,明天我们继续讲解如何通过函数具体实现!