小程序样例5:简单登录界面

基本功能

1、头像选择、用户名、密码、昵称选择、性别、城市

2、确认注册跳转 我的页面。

3、其他注册方式跳转用户名 密码登录方式

4、清除 和 密码显示按钮:

5、用户名、密码合法性校验:

6、点击微信图标,调转回微信登录:

代码分析:

1、密码显示和不显示控制

参考:小程序密码显示与隐藏的实现_小程序password icon-CSDN博客

 通过变量来控制图标和输入文本框的样式:type

  <view class="section section_password"><view class="password-icon"></view><input type="{{password_input_type}}" value="{{password}}" name="password" placeholder="请输入密码" bindinput="changePwd" /><image class="see-password-icon" src="../../../image/zhenyan.png" bindtap="seePassword" wx:if="{{!show_pass}}"/><image class="see-password-icon" src="../../../image/biyan.png" bindtap="seePassword" wx:else/></view>

2、用户名密码校验:

判断是电话还是邮箱

//判断用户填写的是username还是email
function judgeTelOrName(str){var phoneRegExp = new RegExp('^1[3|4|5|8][0-9]\d{4,8}$', 'g');var usernameRegExp = new RegExp('^(?![^a-zA-Z_]+$)(?!\D+$).{6,18}$', 'g');if(usernameRegExp.test(str)){return 'using_name';}else if(phoneRegExp.test(str)){return 'using_email';}else{return 'error';}
}

密码合法性检测:

// 密码合法性检测var pwdRegExp = new RegExp('^(?![^a-zA-Z_]+$)(?!\D+$).{6,18}$', 'g');if(!pwdRegExp.test(password)){wx.showToast({title: '密码设置不合理',duration: 3000,icon: "none"})}

3、使用form代替普通的<input>

input需要通过 bindinput="" 来获取输入的值,通过form可以一次性拿到所有值,只在提交的时候进行处理:

<form class="login-form" bindsubmit="doLogin" bindreset="formReset"><view class="section section_username"><view class="username-icon"></view><input type="text" name="umt" value="{{umt}}" placeholder="用户名/邮箱" bindinput="changeUmt" /><icon class='clear' type="clear" bindtap="clearUmt" /></view><view class="section section_password"><view class="password-icon"></view><input type="{{password_input_type}}" value="{{password}}" name="password" placeholder="请输入密码" bindinput="changePwd" /><image class="see-password-icon" src="../../../image/zhenyan.png" bindtap="seePassword" wx:if="{{!show_pass}}"/><image class="see-password-icon" src="../../../image/biyan.png" bindtap="seePassword" wx:else/></view><view class="section btn-area"><button class="submit" formType="submit">登录</button></view><view class="quick-link"><text class="left">快速注册</text><text class="right">忘记密码?</text></view></form>

formType="submit" 就是提交动作,触发form上绑定的 bindsubmit="doLogin" 函数

完整代码下载:

https://download.csdn.net/download/u200814342A/88795758

 个人小程序创业项目   #小程序://朋友圈子/VMEWRjrOTum4Soa  有想法的朋友可以一起交流下~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

star原则

"STAR" 原则通常用于回答面试或描述工作经验等场景中&#xff0c;以清晰、有条理地传达信息。"STAR" 是 Situation&#xff08;情境&#xff09;、Task&#xff08;任务&#xff09;、Action&#xff08;行动&#xff09;、Result&#xff08;结果&#xf…

P2241 统计方形(数据加强版)题解

题目 有一个nm方格的棋盘&#xff0c;求其方格包含多少正方形、长方形&#xff08;不包含正方形&#xff09;。 输入输出格式 输入格式 一行&#xff0c;两个正整数n,m&#xff08;n≤5000,m≤5000&#xff09;。 输出格式 一行&#xff0c;两个正整数&#xff0c;分别表…

部署YUM仓库服务

一、yum仓库 1. yum简介 yum是一个基于RPM包&#xff08;是Red-Hat Package Manager红帽软件包管理器的缩写&#xff09;构建的软件更新机制&#xff0c;能够自动解决软件包之间的依赖关系。 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势&#xff0c;所以…

超超超详细讲解TCP三次握手与四次挥手(大图解),值得收藏

TCP 三次握手与四次挥手深入探究 TCP基础知识 TCP 头格式有哪些 TCP首部包括20字节的固定首部部分及长度可变的其他选项&#xff0c;所以TCP首部长度可变。20个字节又分为5部分&#xff0c;每部分4个字节32位&#xff0c;如图中的前5行&#xff0c;每行表示32位。 TCP 头格…

云服务器如何快速部署访问静态页面(个人网站博客等)

1&#xff0c;购买云服务器 2&#xff0c;配置安全项 云服务器ecs下&#xff0c;配置ip、端口所有人都可访问 3&#xff0c;关闭防火墙&#xff0c;将前端静态项目传输到云服务器上 可以使用SecureCRT&#xff0c;本地远程连接到服务器&#xff08;需要用户名与密码&#x…

LVS常用的NAT模式和DR模式实战示例

引言&#xff1a;紧接上文&#xff0c;了解LVS&#xff0c;这一篇就够了-CSDN博客&#xff0c;今天我们对LVS常用的两种模式来进行示例配置演示 LVS-NAT模式 1、环境准备 准备 3 台纯净的虚拟机 关闭防火墙和selinux 例&#xff1a; lvs-server 添加两个网卡 NAT模式 …

基于连续相位负载调制的单输入宽带混合Doherty功率放大器设计(2023.05 MTT)-从理论到ADS版图

基于连续相位负载调制的单输入宽带混合Doherty功率放大器设计-从理论到ADS版图 最近开始搞大论文了&#xff0c;Doherty方面对最新的一些的技术看的比较少&#xff0c;找几个牛逼的学习一下下&#xff0c;虽然最后可能也用不上。已经完成了理论的推导和ADS版图仿真&#xff0c…

4、this指向、动画案例、封装、offset、client、scroll

一、this指向问题 1、在构造函数中this指向实例化对象 2、在自定义对象的函数&#xff08;方法&#xff09;中指向this指向当前的对象 3、在普通函数中this指向window 4、函数中this指向&#xff1a;在事件函数中this指向事件源 5、在定时器函数中this指向window 二、动…

原型链继承: 原理:将父类的实例作为子类的原型

function Father(){this.age10this.phone{first:"华为",second:"小米"}}Father.prototype.getagefunction(){return this.age}function Son(name,money){this.namenamethis.moneymoney}Son.prototypenew Father() //子类型的原型为父类型的一个实例对象Son…

Jython调用openwire库连接activemq转发topic订阅消息到另一个activemq 服务器上 完整代码

以下是一个示例代码&#xff0c;演示如何在Jython中使用OpenWire库连接ActiveMQ&#xff0c;将一个主题&#xff08;topic&#xff09;上的订阅消息转发到另一个ActiveMQ服务器上&#xff1a; from org.apache.activemq import * from org.apache.activemq.transport import *…

7-上传下载

上传下载 首先创建一张上传文件的表&#xff0c;例如&#xff1a; drop table if exists sys_file_info; create table sys_file_info (file_id int(11) not null auto_increment comment 文件id,file_name varchar(50) default …

动态分析C语言代码生成函数调用关系的利器——gprof

大纲 准备工作下载libevent代码安装编译依赖编译libevent 收集运行数据编译插入检测代码的可执行程序收集数据 数据转换环境准备转换为dot 转换为图片环境准备转换图片 参考代码参考资料 gprof是一个C语言程序性能分析工具。在编译期间&#xff0c;我们给编译指令增加-pg选项&a…

第 8 章:Linux中使用时钟、计时器和信号

在本章中&#xff0c;我们将开始探索Linux环境中可用的各种计时器。随后&#xff0c;我们将深入了解时钟的重要性&#xff0c;并探讨UNIX时间的概念。接下来&#xff0c;我们将揭示在Linux中使用POSIX准确测量时间间隔的方法。之后&#xff0c;我们将进入std::chrono的领域&…

20240130收获

el-table-column的formatter属性的回调函数会传给我们row的数据&#xff0c;即直接把整行的数据给到我们了&#xff0c;而不是给我们该列的数据。所以我们应该通过{xx}解构的方式来取我们要的属性。解构的时候&#xff0c;不要写错了&#xff0c;比如obj.name&#xff0c;我们想…

创业7年复盘,中美企业服务市场差异浅析

2024 年伊始&#xff0c;Kyligence 联合创始人兼 CEO 韩卿在公司内部的飞书订阅号发表了多篇 Rethink Data & Analytics 的内部信&#xff0c;分享了对数据与分析行业的一些战略思考&#xff0c;尤其是 AI 带来的各种变化和革命&#xff0c;是如何深刻地影响这个行业乃至整…

一篇文带你使用js实现拖拽排序

先介绍一下html5的drag属性,拖放&#xff08;Drag 和 drop&#xff09;是 HTML5 标准的组成部分。想要启用drag&#xff0c;只要给元素加上draggable"true"就行了&#xff08;Safari 5.1.2除外&#xff09;。   实际效果&#xff1a; 拖动事件(了解事件详情)   事…

Node.js 模块化

一、介绍 1.1 什么是模块化与模块 ? 将一个复杂的程序文件依据一定规则&#xff08;规范&#xff09;拆分成多个文件的过程称之为 模块化 其中拆分出的 每个文件就是一个模块 &#xff0c;模块的内部数据是私有的&#xff0c;不过模块可以暴露内部数据以便其他 模块使用 1…

股票市场

&#xff08;一&#xff09;股票市场 顾名思义&#xff0c;就是买卖股票的场所。就是为了撮合想发展但缺钱的企业与有钱但想投资的投资者。 股票市场按照交易场所&#xff0c;可分为场内市场和场外市场&#xff1a; 场内市场是指证券交易所&#xff0c; 场外市场就是证券交易…

【Linux】Linux环境基础开发工具使用

上篇博客我们学习了Linux权限相关知识&#xff0c;那么这节课我们来学习一下Linux环境基础开发工具使用吧~&#xff0c;主要包括yum、vim、gcc/g的使用&#xff0c;以及Linux项目自动化构建工具。 目录 Linux软件包管理器--yum yum是什么 yum相关操作 yum本地配置 Linux编…

蓝桥杯-循环节长度

两个整数做除法&#xff0c;有时会产生循环小数&#xff0c;其循环部分称为: 循环节。比如&#xff0c;11/136>0.8461553846153..... 其循环节为[846153] 共有 6 位。下面的方法&#xff0c;可以求出循环节的长度。请仔细阅读代码&#xff0c;并填写划线部分缺少的代码。 注…