You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分输入框内的值类型(邮箱/手机号)并实现联系人信息展示

你不需要额外写逻辑判断输入内容是邮箱还是手机号,你已经通过下拉框让用户选择了联系方式类型,直接读取下拉框的选中值就能确定对应的展示类型,比正则校验输入内容的准确率更高。
下面是具体修改步骤:

步骤1:修正手机号输入框的type属性

原代码里手机号输入框的type错设为了email,改为tel更合理,只需要修改addpoc函数里对应的html片段即可:

<!-- 把原来的手机号输入框代码替换为下面的 -->
<input class="mailvalue" type="tel" name="workphone" placeholder="Work Phone">

步骤2:修改contine函数的逻辑

修改后的函数可以直接读取每个联系块的所有信息,一次性完成拼接展示:

function contine() {
  // 每次展示前先清空之前的内容,避免重复追加
  document.getElementById("contact").innerHTML = '';
  // 遍历每个生成的联系信息块
  $(".contactIp").each(function() {
    // 读取当前块的姓、名
    const firstName = $(this).find(".fname").val().trim();
    const lastName = $(this).find(".lname").val().trim();
    // 读取当前块选择的联系方式类型
    const contactType = $(this).find("select").val();
    let contactInfo = '';
    if (contactType === 'workmail') {
      const email = $(this).find(".two input").val().trim();
      contactInfo = ` Email: "${email}"`;
    } else if (contactType === 'workphone') {
      const phone = $(this).find(".three input").val().trim();
      contactInfo = ` Phone: "${phone}"`;
    }
    // 拼接输出内容
    if (firstName && lastName) {
      document.getElementById("contact").innerHTML += `Name: ${firstName} ${lastName}${contactInfo}<br>`;
    }
  })
}

优化说明

  • 直接遍历每个.contactIp块,不会出现姓名和联系方式索引不对应的问题
  • 每次点击SHOW按钮先清空旧的展示内容,避免重复点击重复追加
  • 完全复用你原有下拉框的选择逻辑,不需要额外校验输入内容的类型,不存在判断错误的问题

内容的提问来源于stack exchange,提问作者user15895653

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:36:06