微信小程序输入限制:金额限制,名字限制,电话号码限制

微信小程序输入限制:金额限制,名字限制,电话号码限制

  1. 限制金额输入,只能输入数字和一个小数点
  2. 限制名字输入,只能输入数字字母中文
  3. 限制电话号码输入,只能输入数字

博主正则不好,实现功能记录下来当做资料查询。

//金额输入限制
<view>
	<input value="{{money}}" placeholder="请输入金额" type="digit" bind:change="moneyChange" bindinput="moneyChange" bind:confirm="moneyChange" maxlength="7" />
</view>
//用户名输入限制,输入字母数字中文
<input value="{{username}}" placeholder="请输入用户名" type="text" bindinput="nameChange" bind:change="nameChange" bind:confirm="nameChange" />
    
     //手机号限制
<input value="{{phone}}" placeholder="请输入手机号" maxlength="11" type="number" bindinput="phoneChange" bind:change="phoneChange" bind:confirm="phoneconfirm" />
data:{
    money:"",
    username:"",
    phone:""
}
 moneyChange(event) {
      let money = this.money(event.detail.value);
      // let money = event.detail.value;
      this.setData({
         money: money
      })
      return money
   },
   // 验证输入金额
   money(val) {
      let num = val.toString(); //先转换成字符串类型
      if (num.indexOf('.') == 0) { //第一位就是 .
         num = '1' + num
      } else if (num.indexOf('0') == 0) {
         num = ''
      }
      num = num.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
      num = num.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
      num = num.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
      num = num.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
      if (num.indexOf(".") < 0 && num != "") {
         num = parseFloat(num);
      }
      return num
   },
       
       
       // 输入用户名
   nameChange(event) {
      // console.log(event.detail)
      let username = this.nameJy(event.detail.value);
      this.setData({
         username: username
      })
      return username
   },
   nameJy(val){
      let str = val.toString(); //先转换成字符串类型
      return str.replace(/[^\u4e00-\u9fa5\w]/g,'');
   },
       
       
        // 输入手机号
   phoneChange(event) {
      // let phone = event.detail.value || event;
      let phone = this.phones(event.detail.value);
      this.setData({
         phone: phone
      })
      return phone
   },
   phones(val) {
      let num = val.toString(); //先转换成字符串类型
      num = num.replace(/\D/g, '')
      return num
   },
   // 手机号码输入完点击完成时验证
   phoneconfirm(event) {
      const phone = event.detail.value || event;
      if (!/^1[3456789]\d{9}$/.test(phone) || phone.length < 11) {
         wx.showToast({
            title: '您输入的手机号码有误',
            icon: 'none',
            duration: 2000
         })
      } else {
         this.setData({
            phone: phone
         })
      }
   },  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值