vue.js输入框禁止输入特殊字符

vue.js使用了 element-ui 其中<el-input>如何禁止输入!@#$%^&等特殊字符啊???

阅读 17.1k
3 个回答

watch 需要禁止特殊字符的 data,在 $nextTick() 中更新 watch 的变量。模板里还是 v-model 绑定需要输入的字段。

例如username:

<template>
  <el-input v-model="username" name="username" type="text">
</template>

<script>
  function filterInput(val) {
    // 这里过滤的是除了英文字母和数字的其他字符
    return val.replace(/[^A-z0-9]/, '')
  }
  export default {
    watch: {
      username(val) {
        this.$nextTick(() => {
          this.username = filterInput(val)
        })
      }
    }
  }
</script>

写个正则表达式不就可以了,不通过正则,不让提交表单

监听input事件,如果有这些字符,把这些字符替换为空字符

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏