js下 Day16、正则案例
一.封装格式化日期
功能思路分析:
\1. 第一个参数format表示指定的时间格式
\2. 第二个参数date为指定的时间(可以不传,默认当前时间)
\3. 获取第二个参数中指定时间的年月日时分秒
\4. 将format中的格式利用replace()方法替换

#二.表单验证
效果图:

功能思路分析:
1. 面向对象框架


2. 用户名验证
\6. 给用户名文本框绑定失去焦点事件(blur)
\7. 编写手机号正则和邮箱正则
\8. 验证文本框的内容是否符合手机号正则或邮箱正则
\9. 验证通过返回true,并且隐藏错误提示
\10. 验证失败返回false,并且显示错误提示

3. 密码验证
\6. 给密码文本框绑定失去焦点事件(blur)
\7. 编写非纯数字和非纯字母正则
\8. 验证文本框的内容是否符合非纯数字并且和纯字母正则,并且长度3-6
\9. 验证通过返回true,并且隐藏错误提示
10. 验证失败返回false,并且显示错误提示

4. 验证码验证
\4. 给验证码文本框绑定失去焦点事件(blur)
\5. 判断文本框里的内容是否与验证码盒子中的内容一致
\6. 验证通过返回true,并且隐藏错误提示
\7. 验证失败返回false,并且显示错误提示

5. 切换验证码
\2. 封装一个获取随机验证码的方法
\3. 给换一换按钮绑定点击事件(click),调用随机验证码方法
6. 登录验证
\2. 给登录按钮绑定点击事件
\3. 调用用户名、密码和验证码的失去焦点事件,当他们返回值都为真是,跳转页面(location.href),并将用户信息传递过去
7. 地址栏参数解析
\1. 拿到地址栏信息 location.search.slice(1)
\2. 前后拼接**{" "}**
\3. = 替换成 ":"
\4. & 替换成 ","
\5. JSON.parse()

#三.今日小结
1.利用正则替换字符: replace()
2.三元运算符设置默认参数
3.手机号正则:/^1[3-9]\d{9}$/
4.邮箱正则:/\w+@\w+.(com|cn|net)/
5.地址栏相关信息: location.href location.search
6.将json字符串解析成对象: JSON.parse()
#四.作业 -- 面向对象轮播
效果图:
功能思路分析:
1. 封装一个公共的切换方法
\1. 设置一个初始下标
\2. 通过classList切换选中项高亮效果
\3. 找到存放内容的大盒子,修改它的top值
2. 左侧菜单切换
\1. 通过事件委托给左侧菜单绑定点击事件
\2. 修改初始下标为当前选中项下标
\3. 调用切换方法
3. 自动轮播
\1. 设置间歇调用定时器(setInterval())
\2. 初始下标++ ,判断是否到最后一张
3.调用切换方法
4. 滑入暂停自动轮播
\1. 给大盒子绑定滑过事件(mouseover)
\2. 鼠标滑过清除定时器(clearInterval())
5. 滑出继续自动轮播
\1. 给大盒子绑定滑出事件(mouseout)
\2. 调用自动轮播方法
js下 Day16、正则案例的更多相关文章
- JS 下拉菜单案例
css代码 .nav { width: 300px; height: 400px; list-style: none; padding:; margin: 0 auto; } .nav>li { ...
- js下 Day12、案例
一.垃圾分类 效果图: 功能思路分析: 1. 鼠标按下 (1) 获取鼠标到元素的距离(e.offsetX) (2) 开启开关变量 (3) 获取事件源 (4) 记录垃圾初始位置 2. 鼠标移动 ( ...
- js下 Day11、案例
一.成绩分类 效果图: 功能思路分析: 1. 渲染数据 2. 鼠标按下开启拖拽 \1. 给成绩盒子绑定鼠标按下事件(mousedown),用事件委托做多个标签的拖拽 \2. 开启控制拖拽的变量 \3. ...
- [js笔记整理]正则篇
一.正则基本概念 1.一种规则.模式 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegExp(正则表达式 ...
- 正则表达式,js里的正则应用
我爱撸码,撸码使我感到快乐!大家好,我是Counter.好吧已经到凌晨了,其实还是蛮困的,体力不支了,想了想还是把今天任务结束掉吧,为期5天,又重新把JavaScript以及jQuery给大致过了一遍 ...
- JS中的正则应用
如果还未掌握正则基础知识可先看另一篇:正则笔记-忘记就来看 创建方法: 直接量语法:/pattern/attributes 创建 RegExp 对象的语法:new RegExp(pattern, at ...
- z-tree官方提供的下拉菜单案例
1.z-tree官方提供的下拉菜单案例 <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - selec ...
- 原生JS下拉加载插件分享。
无聊写了一个JS下拉加载插件,有需要的可以下载. // 使用 // new ManDownLoad("#ul","json/load.json",functio ...
- js下拉框
Js下拉框 http://sc.chinaz.com/tag_jiaoben/XiaLaKuang.html
随机推荐
- 换系统之后为什么iMindMap会提示“许可证使用的次数过多”
iMindMap是一款十分受欢迎的思维导图软件,随着12版本的上线,iMindMap新增了很多新用户,最近小编发现有不少新用户在群里反映:"为什么购买iMindMap时说可以支持换机,但是在 ...
- jenkins 安装与创建项目
一.安装1.jenkins下载地址:https://jenkins.io/zh/ 中文版2.下载下来,是msi文件,直接安装3.本地访问,localhost:8080 二.访问 如果访问不了,以下原因 ...
- 接入twitter第三方登陆接口遇到的一个问题
本地开了 Shadowsocks,然后postman模拟的twitter的接口是请求成功的,然后用php-curl去请求网址,出现以下错误 Failed to connect to api.twitt ...
- pytest参数化
Pytest可以在多个级别上实现测试参数化 一.@pytest.fixture装饰器调用参数 示例 import pytest from selenium import webdriver from ...
- Gin + 七牛云对象存储
配置七牛云存储 创建存储空间 拿到密钥 安装七牛云对象存储SDK 推荐go.mod安装 // 将下面地址复制到go.mod,然后执行go mod download github.com/qiniu/a ...
- C语言入门最后一阶,掌握这门知识,你就进入提高阶段~
哈喽,伙伴们,我们前面讲了C语言的发展史,基本数据类型,变量与常量,表达式,基本结构等等,今天是作为C语言基础入门的最后一个阶段:输入与输出. 以上这些知识你能够掌握好,就可以开始进入C语言的进阶提高 ...
- 遇见BUG如何区分前后端
定位前后端bug: 1.经验法: 软件测试人员应不断精进自己的技能,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了. 例如: 网页上的某个图片的分辨率不对,如果我们了解实现过程, ...
- celery异步发送短信
1.使用celery异步发送短信 1.1 在 celery_task/mian.py 中添加发送短信函数 # celery项目中的所有导包地址, 都是以CELERY_BASE_DIR为基准设定. # ...
- Spring Boot 中使用 Spring Security, OAuth2 跨域问题 (自己挖的坑)
使用 Spring Boot 开发 API 使用 Spring Security + OAuth2 + JWT 鉴权,已经在 Controller 配置允许跨域: @RestController @C ...
- dubbo源码学习(二)dubbo容器启动流程简略分析
dubbo版本2.6.3 继续之前的dubbo源码阅读,从com.alibaba.dubbo.container.Main.main(String[] args)作为入口 简单的数据一下启动的流程 1 ...