:rules="[{ required: true,message: '请输入描述'}]" show-word-limit autocapitalize="off" autocorrect="off"
methods: {
            // 禁止输入特殊字符
            btKeyUpUsername (e) {
                e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】、;‘’,。、\s+]/g, '')
                this.inspectionRecord.description = e.target.value
                    &lt;van-form @submit="onCreateFieldWorkShow" ref="create"&gt;                    &lt;van-field                        @keyup.native="btKeyUpUsername"                        v-model="inspectionRecord.description"                        rows="2"       .
最近在项目中有一个需求是禁止输入特殊字符,一开始我是在网上找的正则表达式直接用的,后来发现这个表达式同时也禁止了v,x,y,z,所以后来就想了一个比较笨的方法,把所有的特殊字符全部罗列出来,然后在匹配一下。最后在输入的时候禁止就好了。
项目都是在vue中的,所有方法都是在methods里边的。
step 一, 正则表达式解决方案
用这种方式替换,会导致v,x,y,z输入不进去,亲测。
    <el-input
          placeholder="I'm shopping f
```javascript
function validateInput(input) {
  var firstCharacter = input.charAt(0); // 获取输入的第一个字符
  var pattern = /^\s/; // 定义一个正则表达式,用来匹配空格
  if (pattern.test(firstCharacter)) { // 检查第一个字符是否与正则表达式匹配
    console.log("第一个字符不能是空格");
    return false;
  console.log("校验通过");
  return true;
// 使用示例
var userInput = prompt("请输入内容");
validateInput(userInput);
上述代码中,我们使用了`charAt(0)`方法来获取输入字符串的第一个字符,并使用`/^\s/`正则表达式定义了一个以空格开头的模式。然后,我们使用`test()`方法来检查第一个字符是否与这个模式匹配。如果匹配上了,那么说明第一个字符是一个空格,就会输出"第一个字符不能是空格";否则,校验通过,输出"校验通过"。
总结起来,通过正则表达式的匹配,可以方便地校验输入的第一个字符是否为空格