為提升用戶體驗,在用戶新增收貨地址時,加入自動識別收貨地址功能。
.wxml
<view class="top"> <input type="text" placeholder="復制收貨信息(格式:姓名→電話→地址)" value="{{distinguish}}" bindinput="distinguishinput"></input> <text bindtap="changtext">自動識別</text> </view>
.js
changtext: function (e) { var that = this; var text = that.data.distinguish; var text = text.replace(/(^\s*)|(\s*$)/g, ""); //清除文本前后空格 if (text == '') { that.setData({ u_name: '', u_phone: '', u_address: '' }) return; } //電話號碼正則表達式 var regx = /(1[3|4|5|7|8][\d]{9}|0[\d]{2,3}-[\d]{7,8}|400[-]?[\d]{3}[-]?[\d]{4})/g; var phone_num = text.match(regx); if (phone_num != null) { var phone = text.indexOf(phone_num[0]); } var name = text.indexOf("姓名:"); if (name >= 0) { var phone = text.indexOf("電話:"), address = text.indexOf("地址:"); var u_name = text.substring(name + 3, phone), u_phone = text.substring(phone + 3, address), u_address = text.substring(address + 3, text.length); that.setData({ u_name: u_name, u_phone: u_phone, u_address: u_address }) } else if (phone >= 0) { var u_name = text.substring(0, phone), u_phone = text.substring(phone, phone + 11), u_address = text.substring(phone + 11, text.length); that.setData({ u_name: u_name, u_phone: u_phone, u_address: u_address }) } else { that.setData({ u_name: '', u_phone: '', u_address: '' }) return; } that.setData({ nameText: u_name, //收貨人 phoneText: u_phone, //聯系方式 addressText: u_address, //詳細地址 }) }
End!