Commit 7853cd3393e1818e949c7d97260acdb54e02e7d3
1 parent
a1d00f34
生日日期输入优化
Showing
2 changed files
with
72 additions
and
9 deletions
packageA/pages/profile/profile.js
@@ -77,7 +77,7 @@ Page({ | @@ -77,7 +77,7 @@ Page({ | ||
77 | lat: null, //维度 | 77 | lat: null, //维度 |
78 | lon: null, //经度 | 78 | lon: null, //经度 |
79 | loading: 0, | 79 | loading: 0, |
80 | - | 80 | + oldBirtthDayLength:0, //生日日期个数 |
81 | }, | 81 | }, |
82 | //通过路径跳转到其他页面 | 82 | //通过路径跳转到其他页面 |
83 | goto: function (e) { | 83 | goto: function (e) { |
@@ -1126,20 +1126,81 @@ Page({ | @@ -1126,20 +1126,81 @@ Page({ | ||
1126 | let address = this.getInput(e); | 1126 | let address = this.getInput(e); |
1127 | this.data.address = address; | 1127 | this.data.address = address; |
1128 | }, | 1128 | }, |
1129 | - | 1129 | + //获取生日 |
1130 | + getbind(e) { | ||
1131 | + console.log("获取生日222222222"); | ||
1132 | + console.log(e); | ||
1133 | + let b = this.getInput(e); | ||
1134 | + let length = b.length; | ||
1135 | + let oldBirtthDayLength=this.data.oldBirtthDayLength | ||
1136 | + if (length > oldBirtthDayLength) { | ||
1137 | + if (b.length==4) { | ||
1138 | + b+='-' | ||
1139 | + } | ||
1140 | + if (b.length==7) { | ||
1141 | + b+='-' | ||
1142 | + } | ||
1143 | + // if (b.length==6 && b[5] >1) { | ||
1144 | + // console.log(b[5]); | ||
1145 | + | ||
1146 | + // } | ||
1147 | + } | ||
1148 | + this.setData({ | ||
1149 | + datet: b, | ||
1150 | + oldBirtthDayLength:length, | ||
1151 | + }); | ||
1152 | + }, | ||
1130 | //获取生日 | 1153 | //获取生日 |
1131 | bindChange: function (e) { | 1154 | bindChange: function (e) { |
1155 | + console.log("获取生日11111111"); | ||
1156 | + console.log(e); | ||
1132 | let strBirthday = e.detail.value; | 1157 | let strBirthday = e.detail.value; |
1133 | let age = this.verifyBirthday(strBirthday); | 1158 | let age = this.verifyBirthday(strBirthday); |
1134 | 1159 | ||
1135 | if (age <= 10) { | 1160 | if (age <= 10) { |
1136 | app.my_warnning("会员年龄不能小于10岁(含10岁)", 0, this); | 1161 | app.my_warnning("会员年龄不能小于10岁(含10岁)", 0, this); |
1162 | + this.setData({ | ||
1163 | + datet: '', | ||
1164 | + }); | ||
1137 | } else if (age >= 70) { | 1165 | } else if (age >= 70) { |
1138 | app.my_warnning("会员年龄不能超过70岁(含70岁)", 0, this); | 1166 | app.my_warnning("会员年龄不能超过70岁(含70岁)", 0, this); |
1139 | - } else { | ||
1140 | this.setData({ | 1167 | this.setData({ |
1141 | - datet: e.detail.value, | ||
1142 | - }); | 1168 | + datet: '', |
1169 | + }); | ||
1170 | + } else { | ||
1171 | + let value = e.detail.value | ||
1172 | + | ||
1173 | + if (value.length==8) { | ||
1174 | + value+='01' | ||
1175 | + } | ||
1176 | + if (value.length==7) { | ||
1177 | + value+='-01' | ||
1178 | + } | ||
1179 | + if (value.length==9) { | ||
1180 | + let ov=value[value.length-1] | ||
1181 | + let nv=value.slice(0,-1) | ||
1182 | + if (ov==0) { | ||
1183 | + nv+='01' | ||
1184 | + }else{ | ||
1185 | + nv+='0'+ov | ||
1186 | + } | ||
1187 | + value=nv | ||
1188 | + } | ||
1189 | + // let reg= /^(\d{4})-(\d{2})-(\d{2})$/; | ||
1190 | + let reg= /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/ | ||
1191 | + console.log('日期验证'); | ||
1192 | + console.log(value); | ||
1193 | + console.log(reg.test(value)); | ||
1194 | + if (reg.test(value)) { | ||
1195 | + this.setData({ | ||
1196 | + datet: value, | ||
1197 | + }); | ||
1198 | + }else{ | ||
1199 | + app.my_warnning("出生日期格式不对", 0, this); | ||
1200 | + this.setData({ | ||
1201 | + datet: '', | ||
1202 | + }); | ||
1203 | + } | ||
1143 | } | 1204 | } |
1144 | 1205 | ||
1145 | }, | 1206 | }, |
packageA/pages/profile/profile.wxml
@@ -90,14 +90,16 @@ | @@ -90,14 +90,16 @@ | ||
90 | <view class="shrink0">出生日期:</view> | 90 | <view class="shrink0">出生日期:</view> |
91 | <view class="flex fs28 Birth pdl20 jc_fe"> | 91 | <view class="flex fs28 Birth pdl20 jc_fe"> |
92 | <view class="user-txt-right pdl20 flex ai-center"> | 92 | <view class="user-txt-right pdl20 flex ai-center"> |
93 | - <checkbox-group bindchange="isLunar"> | 93 | + <input bindinput="getbind" bindblur="bindChange" maxlength="10" type="number" value="{{datet}}" class="user-txt-right pdl20 f1 t-r" placeholder="请输入出生日期"></input> |
94 | + <picker class="pdl20" bindchange='bindChange' mode="date" start="{{year-70}}-1-1" end="{{year}}-12-31"> | ||
95 | + <!-- <view class="flex ai-center">{{datet?datet:"请选择时间"}}<view class="angle">∟</view></view> --> | ||
96 | + <image src="{{iurl}}/miniapp/images/calendar.png" style="width: 40rpx;height: 40rpx;"></image> | ||
97 | + </picker> | ||
98 | + <checkbox-group bindchange="isLunar" class="pdl20"> | ||
94 | <label class="flex ai-center"> | 99 | <label class="flex ai-center"> |
95 | <checkbox value="{{isLunar}}" checked="{{isLunar}}"/>农历 | 100 | <checkbox value="{{isLunar}}" checked="{{isLunar}}"/>农历 |
96 | </label> | 101 | </label> |
97 | </checkbox-group> | 102 | </checkbox-group> |
98 | - <picker class="pdl20" bindchange='bindChange' mode="date" start="{{year-70}}-1-1" end="{{year}}-12-31"> | ||
99 | - <view class="flex ai-center">{{datet?datet:"请选择时间"}}<view class="angle">∟</view></view> | ||
100 | - </picker> | ||
101 | 103 | ||
102 | 104 | ||
103 | </view> | 105 | </view> |