小程序云开发之注册页面

小程序云开发之注册页面

wxml:

<view class="container">
  <form bindsubmit="formSubmit" bindreset="formReset">
    <!-- 账号 -->
    <view class="user">
      <view>用户名:</view>
      <input name="username" placeholder="请输入账号" />
    </view>
    <!-- 密码 -->
    <view class="user">
      <view >密  码:</view>
      <input name="passwd" placeholder="请输入密码" password />
    </view>
    <!-- 手机号 -->
    <view  class="user">
      <view>手机号:</view>
      <input type="number" name="phoneNumber" maxlength="11" placeholder="请输入手机号" />
    </view>
    <!-- 提交重置按钮 -->
    <view class="btn-area">
      <button class="sumbit" formType="submit" type="primary">提交</button>
      <button formType="reset" type="primary">清除</button>
    </view>
  </form>
</view>

wxss:

.container{
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 100rpx 0;
  box-sizing: border-box;
}
.user{
  display: flex;
  margin-top: 50rpx;
}
.user input{
  font-size: smaller;
  border: 1px solid #a5a5a5;
  margin-left: 30rpx;
  margin-right: 10rpx;
  padding: 10rpx 0;
}
.sumbit{
  margin: 50rpx 0;
}

js:

创建数据库集合:
点击云开发—>点击数据库—>点击+号—>输入集合名称创建集合
在这里插入图片描述

const app = getApp()
const DB=wx.cloud.database().collection("users")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  formSubmit:function(e){
    let username = e.detail.value.username; //用户名
    let password = e.detail.value.passwd; //密码
    let phone = e.detail.value.phoneNumber; //电话号
    let that=this;
    let flag=false //判断是否存在,存在时为true
    let checkPhone = /^1(3|4|5|7|8)\d{9}$/;
    let checkPass = /^.{6,15}$/; 
    
    // 判断用户名,密码,手机号是否为空
    if(username === '' && password === '' && phone === ''){
      wx.showToast({
        title: '用户名,密码,电话不能为空!',
        icon: 'none',
        duration: 1500
      })
      return
    }
    //校验账号
    if (username.length === 0) {
      wx.showToast({
        icon: 'none',
        title: '账号不能为空,请输入您的账号',
      })
      return
    }
    // 验证密码
    if(!(checkPass.test(password))){
      wx.showToast({
        title: '密码为6-15位',
        duration: 2000,
      })
      return false;
    }
    // 验证手机号
    if (!(checkPhone.test(phone))) {
      wx.showToast({
        title: '手机号错误!',
        duration: 2000,
      })
      return false;
    }
    
    //查询用户是否注册
    DB.get({
      success:(res)=>{
        let users = res.data;
        for(let i=0;i<users.length;i++){
          if(username===users[i].username){//用户存在
            flag=true;
            // console.log('账户已经注册');
          }
        }
        if(flag===true){
          wx.showToast({
            icon: 'none',
            title: '账户已经注册!',
          })
        }else{
          DB.add({
            data: {
              username: username,
              password: password,
              phone:phone,
            },
            success(res) {
              wx.navigateTo({
                url: '/pages/login/login',
              })
            },
            fail(res) {
              wx.showToast({
                icon: 'none',
                title: '注册失败,请重新注册!',
              })
            }
          })
        }
      }
    })
  }
})

执行效果截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值