微信小程序 input 不能输入特殊字符的方法

微信小程序开发中经常遇到有表单提交的需求,一些特殊的字段要过滤掉特殊字符。比如姓名、籍贯、地址等,都要实现不能输入特殊字符的功能,可以创建一个统一的方法来处理输入事件,并在这个方法中检查输入的字符。

下面是一个简单的示例:

html 复制代码
<view class='flex f30 ali-center'>
          <input type="text" name="realname" value='{{realname}}' placeholder="请填真实姓名" bindchange="onName" data-field="realname" />
</view>
<view class='flex f30 ali-center'>
          <input type="text" name="hometown" value='{{hometown}}' placeholder="请填写籍贯" bindchange="onName" data-field="realname" />
</view>
<view class='flex f30 ali-center'>
          <input type="text" name="address" value='{{address}}' placeholder="请填写地址" bindchange="onName" data-field="address" />
</view>

js:

js 复制代码
// 输入框发生改变事件
onField(e) {
    let value = e.detail.value;
    let field = e.currentTarget.dataset.field
    // console.log('Input field:', field, 'Value:', value); 
    this.handleSpecialChars(value, field)
},

// 过滤特殊字符
handleSpecialChars(value, fieldName) {     
    let reg = /^[\u4e00-\u9fa5a-zA-Z0-9\s,.?!;:\'"]+$/; // 允许中文字符、英文字母、数字以及基本标点符号 
    if (!reg.test(value)) {  
      wx.showToast({  
        title: '不能输入特殊字符',  
        icon: 'none'  
      });
      this.setData({  
        [fieldName]: ''  
      }); 
    } else {
      this.setData({  
        [fieldName]: value  
      });  
      return value; 
    }
},

如果姓名更严格点可以限制只允许输入中文:

js 复制代码
let reg = /^[\u4e00-\u9fa5]+$/; // 正则表达式,只匹配中文

请注意,这个示例在输入非符合正则表达式时会清空输入框,这可能会影响到部分用户的体验感。

相关推荐
00后程序员张8 分钟前
如何在不同 iOS 设备上测试和上架 uni-app 应用 实战全流程解析
android·ios·小程序·https·uni-app·iphone·webview
微三云-轩44 分钟前
区块链:重构企业数字化的信任核心与创新动力
人工智能·小程序·区块链·生活·我店
阿隆_趣编程3 小时前
为了方便相亲,我用AI写了一款小程序
前端·javascript·微信小程序
2501_9159184121 小时前
iOS 开发全流程实战 基于 uni-app 的 iOS 应用开发、打包、测试与上架流程详解
android·ios·小程序·https·uni-app·iphone·webview
黑马源码库miui5208621 小时前
JAVA同城打车小程序APP打车顺风车滴滴车跑腿源码微信小程序打车源码
java·微信·微信小程序·小程序·uni-app
一口十个小甜虾1 天前
微信小程序体验版,当打开调试模式正常访问,关闭之后无法访问
微信小程序·小程序
悟空码字1 天前
微信开放平台第三方平台,可以管理多个微信小程序
微信·小程序·开放平台
じòぴé南冸じょうげん1 天前
微信小程序如何进行分包处理?
前端·小程序
说私域1 天前
基于开源AI大模型AI智能名片S2B2C商城小程序的参与感构建研究
人工智能·小程序·开源
毕设源码-邱学长2 天前
【开题答辩全过程】以 基于微信小程序的宠物领养系统为例,包含答辩的问题和答案
微信小程序·小程序·宠物