首页 > 技术文章 > 微信小程序自动识别姓名电话地址

xuanjiange 2019-12-30 14:52 原文

 

举例数据:

var str = "姓名:悬剑电话:18686868866地址:北京市五道口职业技术学院";

var str2 = "悬剑18686868866北京市五道口职业技术学院";

 

  changtext: function(e) {
    var that = this,
      text = e.detail.value,
      text = text.replace(/(^\s*)|(\s*$)/g, "");
    console.log(text);

    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;
    }

输出:

var u_name = "悬剑",
    u_phone = "18686868866",
    u_address = "北京市五道口职业技术学院";

推荐阅读