為提升用戶體驗,在用戶新增收貨地址時,加入自動識別收貨地址功能。

.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!
