微信小程序> 小程序之简单登录注册表单验证

小程序之简单登录注册表单验证

浏览量:1210 时间: 来源:沉默的小猴子

这段时间在做员工管理的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下。

效果图,wxss的内容较简单,自己编写即可。

小程序
##主要内容

一、首先我是在util.js中引入表单正则验证规则,给予login.js来引用

function regexConfig() {  var reg = {    userid: /^[A-Za-z0-9]+$/,  //邮箱正则验证    phone: /^1(3|4|5|7|8)d{9}$/,  //手机号正则验证    cards: /^[u4e00-u9fa5]{2,4}$/  //姓名汉字正则验证  }  return reg;}module.exports = {  formatTime: formatTime,  regexConfig: regexConfig}

验证结果
小程序

二、在login.index中写一个form表单,内容自己可以随意规定,

form bindsubmit="formSubmit"   view class="input-area"      view class="input-log"          image class="userinfo-logIcon" src="{{logIcon}}"/image          input id="username" name="username" maxlength='4' type="text" placeholder="姓名" /      /view      view class="input-log"        image class="userinfo-logIcon" src="{{pwdIcon}}"/image          input id="password" name="password" type="number" maxlength="11" placeholder="手机号" /      /view    /view    view class="btn-area"        button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo"  disabled="{{disabled}}" style="background-color:{{loginBtnBgBgColor}}"  formType="submit"  loading="{{btnLoading}}" {{loginBtnTxt}} /button    /view/formtext class='tips' style=''注意:只有在职人员方可登录/text

这里,姓名一栏通常是算作8个字符,但是我测试后实际应为2-4字符,姓占位1-2字符,名占位1-2字符。不排除异类情况,如果是邮箱则不需要规定“maxlength”的数值。
手机号一栏必须规定长度,否则别人会随便填写错误手机号,当然这也是为了简单验证,严格来说是要给填写的手机号发送验证码来验证的,那需要收费,个人依情况而定。
提交表单【 formType=“submit”】。

三、login.js内容

var util = require("../../utils/util.js");var myMessage="";Page({  data:{    loginBtnTxt:"登录",    myMessage:"",    loginBtnBgBgColor:"#0099FF",    btnLoading:false,    disabled:false,    inputUserName: '',    inputPassword: '',    avatarUrl:"../../images/logo.jpg",    logIcon:"../../images/logIcon.png",    pwdIcon:"../../images/pwdIcon.png",    curNav: 1,    curIndex: 0  },   onLoad:function(options){    // 页面初始化 options为页面跳转所带来的参数    wx.clearStorageSync();   //清除缓存  },  formSubmit:function(e){  //form提交内容 对登录信息做判断    var param = e.detail.value;    this.mysubmit(param);    console.log("登录页提交",param)      },  mysubmit:function (param){    //验证帐号密码输入信息完整度    var flag = this.checkUserName(param) && this.checkPassword(param);    console.log('信息填写',flag)    if(flag){        this.setLoginData1();        this.checkUserInfo(param);    }   },  setLoginData1:function(){  //登录态提示    this.setData({      loginBtnTxt:"登录中",      disabled: !this.data.disabled,      loginBtnBgBgColor:"#999",      btnLoading:!this.data.btnLoading    });  },  setLoginData2:function(){    this.setData({      loginBtnTxt:"登录",      disabled: !this.data.disabled,       loginBtnBgBgColor:"#0099FF",      btnLoading:!this.data.btnLoading    });  },  checkUserName:function(param){    var userid = util.regexConfig().cards; //姓名正则检验    var inputUserName = param.username.trim(); //输入信息确认    var wellname = param.username.length; //字符长度确认    console.log(inputUserName, wellname)    if (userid.test(inputUserName) ){ //xxx.test是检测函数。      return true;    }else{      wx.showModal({        title: '提示',        showCancel:false,        content: '姓名输入错误'      });      return false;    }  },  checkPassword:function(param){    var phone = util.regexConfig().phone; //校验手机号    var inputPassword = param.password.trim();  //核对输入手机号    var password = param.password.length;    if (phone.test(inputPassword)  && password == 11 ){ //验证手机号格式及长度      return true;    }else{      wx.showModal({        title: '提示',        showCancel: false,        content: '手机号输入错误'      });      return false;    }  },  checkUserInfo:function(param){    var username = param.username.trim();    var password = param.password.trim();    var goodname = param.username;   //提取帐号    var goodpass = param.password;   //提取密码    var that = this;    if (username == goodname && password == goodpass){ //无需存贮,只为验证        setTimeout(function(){          wx.showToast({            title: '',            icon: 'success',            duration: 1500          });          that.setLoginData2();          that.redirectTo(param);        },2000);    }else{      wx.showModal({        title: '提示',        showCancel:false,        content: '信息有误,请重新输入'      });      this.setLoginData2();    }  },  redirectTo:function(param){    //需要将param转换为字符串    param = JSON.stringify(param);    wx.redirectTo({      url: '../main/index?param='+ param//参数只能是字符串形式,不能为json对象    })  },  onGotUserInfo: function (e) {  //授权过后不再调起      // console.log(e.detail.errMsg)      console.log(e.detail.userInfo)    var tip = e.detail.userInfo;    if (tip == undefined){      wx.redirectTo({        url: '../login/index',      })    }else{      wx.setStorage({   //存储数据并准备发送给下一页使用        key: "myMessage",        data: e.detail.userInfo,      })    }  }, })

小程序

在这里进行引用验证,

var xxx = util.regexConfig().xxx ;这里的第二个xxx是你自己命名的变量,姓名或者邮箱或者手机号进行对应选择你在util.js中的变量命名。第一个xxx是你当前要引用的变量名

成功后的提示

小程序

到这里最简单的注册登录表单验证就算结束了。如有疑问可在评论区讨论。
小程序
小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎