下面就为你详细讲解“微信小程序 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技术站