微信小程序 input输入框控件详解及实例(多种示例)

下面就为你详细讲解“微信小程序 input输入框控件详解及实例(多种示例)”的完整攻略。

一、概述

在微信小程序中,我们常常用到前端开发的基础控件之一 input,该控件主要用于获取用户输入的数据。

二、类型

微信小程序 input 控件主要有以下几个属性类型:

1. text

text 输入框类型是最基础也是最常用的一种,可以输入任意字符,长度没有限制。

示例代码:

<view class="input-container">
   <input type="text" class="input-text" placeholder="请输入内容" />
</view>

2. password

password 输入框类型会将输入文本以明文形式显示,并且每个字符都会以“•”的形式显示。

示例代码:

<view class="input-container">
   <input type="password" class="input-text" placeholder="请输入密码" />
</view>

3. number

number 输入框类型只能输入数字,不能输入非数字。

示例代码:

<view class="input-container">
   <input type="number" class="input-text" placeholder="请输入数字" />
</view>

4. idcard

idcard 输入框类型只能输入身份证号码,支持18位和15位身份证号码的输入(校验仅验证位数)。

示例代码:

<view class="input-container">
   <input type="idcard" class="input-text" placeholder="请输入身份证号码" />
</view>

5. textarea

textarea 输入框类型是一个常用的多行文本输入框,可以输入很长的文本。

示例代码:

<view class="input-container">
   <textarea class="input-text" placeholder="请输入内容"></textarea>
</view>

6. digit

digit 输入框类型在输入数字时,会自动将小数点精确到两位。

示例代码:

<view class="input-container">
   <input type="digit" class="input-text" placeholder="请输入数字" />
</view>

7. email

email 输入框类型只能输入邮件地址。

示例代码:

<view class="input-container">
   <input type="email" class="input-text" placeholder="请输入邮件地址" />
</view>

三、控件属性

除了不同类型的输入框类型外, input 控件还具有以下几个常用属性:

1. value

value 属性用于获取或设置当前 input 控件中的文本值。

示例代码:

<view class="input-container">
   <input type="text" class="input-text" placeholder="请输入内容" value="{{inputValue}}" />
</view>

2. placeholder

placeholder 属性用于设置 input 控件中的提示文字。

示例代码:

<view class="input-container">
   <input type="text" class="input-text" placeholder="请输入内容" />
</view>

3. disabled

disabled 属性用于禁用 input 控件,设置为 true 时,将无法通过 input 控件输入文本。

示例代码:

<view class="input-container">
   <input type="text" class="input-text" placeholder="请输入内容" disabled="{{true}}" />
</view>

4. maxlength

maxlength 属性用于设置 input 控件可以输入的最大长度。

示例代码:

<view class="input-container">
   <input type="text" class="input-text" placeholder="请输入内容" maxlength="10"/>
</view>

四、实例说明

下面为你介绍两个 input 控件的实例:

1. 显示密码

某些情况下,用户希望在输入密码时可以查看密码,这时候我们可以通过修改 input 的 type 属性来实现。

示例代码:

// index.wxml
<view class="input-container">
   <input type="{{showPassword?'text':'password'}}" class="input-text" placeholder="请输入密码" value="{{password}}" />
   <view class="icon-show" bindtap="showPasswordTap"></view>
</view>
// index.js
Page({
   data: {
      showPassword: false,
      password: ''
   },
   showPasswordTap: function () {
      this.setData({
         showPassword: !this.data.showPassword
      });
   }
})

2. 验证身份证

在一些需要身份证验证的场景下,我们需要对用户输入的身份证号码进行校验。我们可以通过设置 input 的 type 属性为 idcard 来限制输入内容,并在提交表单时进行身份证号码的校验。

示例代码:

// index.wxml
<view class="input-container">
   <input type="idcard" class="input-text" placeholder="请输入身份证号码" value="{{idcard}}" />
   <button class="button" bindtap="submit">提交</button>
</view>
// index.js
Page({
   data: {
      idcard: ''
   },
   submit: function () {
      if (!this.IDCheck(this.data.idcard)) {
         wx.showToast({
            icon: 'none',
            title: '身份证号码有误'
         });
         return;
      }
      // 表单提交
   },
   IDCheck: function (idcard) {
      var Errors = new Array(
         "身份证号码位数不对",
         "身份证号码出生日期超出范围或含有非法字符",
         "身份证号码校验错误",
         "身份证地区非法"
      );
      var area = {
         11: "北京",
         12: "天津",
         13: "河北",
         14: "山西",
         15: "内蒙古",
         21: "辽宁",
         22: "吉林",
         23: "黑龙江",
         31: "上海",
         32: "江苏",
         33: "浙江",
         34: "安徽",
         35: "福建",
         36: "江西",
         37: "山东",
         41: "河南",
         42: "湖北",
         43: "湖南",
         44: "广东",
         45: "广西",
         46: "海南",
         50: "重庆",
         51: "四川",
         52: "贵州",
         53: "云南",
         54: "西藏",
         61: "陕西",
         62: "甘肃",
         63: "青海",
         64: "宁夏",
         65: "新疆",
         71: "台湾",
         81: "香港",
         82: "澳门",
         91: "国外"
      }
      var idcard, Y, JYM, S, M, ereg;
      var idcard_array = new Array();
      idcard_array = idcard.split("");
      switch (idcard.length) {
         case 15:
            if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
               ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|(3[0-1]))[0-9]{3}$/;
            }
            else {
               ereg = /^[1-9][0-9]{5}[0-9]{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|(3[0-1]))[0-9]{3}$/;
            }
            if (ereg.test(idcard))
               return true;
            else
               return false;
            break;
         case 18:
            if (area[parseInt(idcard.substr(0, 2))] == null) return Errors[3];
            if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
               ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|(3[0-1]))[0-9]{3}$/;
            }
            else {
               ereg = /^[1-9][0-9]{5}[0-9]{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|(3[0-1]))[0-9]{3}[0-9Xx]$/;
            }
            if (ereg.test(idcard)) {
               S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 +
                  (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 +
                  (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 +
                  (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 +
                  (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 +
                  (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 +
                  (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 +
                  parseInt(idcard_array[7]) * 1 +
                  parseInt(idcard_array[8]) * 6 +
                  parseInt(idcard_array[9]) * 3;
               Y = S % 11;
               M = "F";
               JYM = "10X98765432";
               M = JYM.substr(Y, 1);
               if (M == idcard_array[17])
                  return true;
               else
                  return false;
            }
            else
               return false;
            break;
         default:
            return Errors[0];
            break;
      }
   }
})

以上就是关于微信小程序 input 输入框控件的详解及实例(多种示例)的攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序 input输入框控件详解及实例(多种示例) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • Javascript简写条件语句(推荐)

    当需要根据某个条件来执行不同的代码块时,我们可以使用条件语句来实现。在JavaScript中,有多种实现条件语句的方式,而本攻略将介绍一种简写条件语句的实现方式。 简写条件语句的语法 简写条件语句的语法基于三元运算符:condition ? expr1 : expr2。它具有以下结构: condition ? expr1 : expr2 这行代码的意思是,如…

    JavaScript 2023年5月28日
    00
  • 微信小程序setInterval定时函数新手使用的超详细教程

    微信小程序setInterval定时函数新手使用的超详细教程 什么是setInterval函数 setInterval是JavaScript的一种定时器函数,它可以按照指定的时间间隔执行一个指定的函数或者代码段。 对于微信小程序开发者来说,setInterval函数可以应用在定时刷新UI,定时更新数据等场景。 如何使用setInterval函数 setInt…

    JavaScript 2023年6月11日
    00
  • tangram.js库实现js类的方式实例分析

    让我们来详细讲解“tangram.js库实现js类的方式实例分析”的完整攻略。 什么是tangram.js库 tangram.js库是百度开发的一个JavaScript基础库,类似于 jQuery 和Zepto 等,但和它们不同的是,tangram.js特别注重性能优化和代码开发的封装和工程化。tangram.js实现了许多非常有用和丰富的工具函数、DOM操…

    JavaScript 2023年5月28日
    00
  • JavaScript事件对象event用法分析

    下面是关于JavaScript事件对象(event)的详细解析: 一、什么是JavaScript事件对象(event) 在JavaScript中,事件是当HTML文档中发生某些特定行为时所发生的结果。比如用户单击了一个按钮、鼠标移动到某一个元素上等交互行为。这些都可以被JavaScript捕捉到,并进行相应的处理。在这些事件中,事件对象(event)是事件发…

    JavaScript 2023年6月10日
    00
  • 详解JS同源策略和CSRF

    JS同源策略指的是浏览器的一种安全策略,限制了一个源加载的文档或脚本如何与另一个源的资源进行交互。一般来说,源指的是协议+域名+端口号的组合,如果两个资源不属于同一个源,那么它们之间的交互就会受到限制。 常见的一些跨域问题,例如通过 XMLHttpRequest 发起的请求或者使用 iframe 加载的页面,都受到同源策略的限制。在前端开发过程中,我们通常使…

    JavaScript 2023年6月11日
    00
  • 极力推荐10个短小实用的JavaScript代码段

    接下来我来为大家讲解极力推荐10个短小实用的JavaScript代码段的攻略。 一、介绍 首先我们需要明确,这10个短小实用的JavaScript代码段主要是针对于前端开发者,能够帮助他们提高开发效率、优化用户体验、提供更好的交互和视觉效果。 这10个代码段分别是:1. 获取URL参数2. 倒计时3. 防抖4. 节流5. 数组去重6. 判断数组是否相等7. …

    JavaScript 2023年5月18日
    00
  • 详解ES6 CLASS在微信小程序中的应用实例

    详解ES6 Class在微信小程序中的应用实例 介绍 ES6 Class 是用来创建对象的模板,它具有面向对象编程的特性,使代码更加清晰、易于维护和扩展。在微信小程序开发中,使用 ES6 Class 可以大大提升代码的可读性和可维护性。 ES6 Class 的基本用法 ES6 Class 的基本语法如下: class MyClass { constructo…

    JavaScript 2023年6月11日
    00
  • 需要牢记的JavaScript基础知识

    下面是需要牢记的JavaScript基础知识的完整攻略: JavaScript基础知识 数据类型 JavaScript有7种基础数据类型: 布尔值(Boolean) 数字(Number) 字符串(String) null undefined Symbol 对象(Object) 其中,null和undefined是特殊的数据类型,常用于表示空值和未定义值。 示…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部