Commit 7853cd3393e1818e949c7d97260acdb54e02e7d3

Authored by 前端开发-罗建龙
1 parent a1d00f34

生日日期输入优化

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>