: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
<van-form @submit="onCreateFieldWorkShow" ref="create"> <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()`方法来检查第一个字符是否与这个模式匹配。如果匹配上了,那么说明第一个字符是一个空格,就会输出"第一个字符不能是空格";否则,校验通过,输出"校验通过"。
总结起来,通过正则表达式的匹配,可以方便地校验输入的第一个字符是否为空格。