messageBox弹框 用inputPattern字段自己规定匹配模式 要求不可以输入空格与中文,但必须包含数字、字母、特殊符号,且不可小于6位或者大于20位
时间: 2024-03-09 15:44:57 浏览: 77
你可以在使用 `messageBox` 弹框时,通过 `inputPattern` 属性来指定输入框的匹配模式。下面是一个示例代码,可以实现你的要求:
```javascript
this.$msgbox({
title: '请输入密码',
inputType: 'password',
inputPattern: /^[^\s\u4e00-\u9fa5]{6,20}(?=.*[A-Za-z])(?=.*\d)(?=.*[~!@#$%^&*()_+{}:"<>?\`\-=[\]\\;',./])/,
inputErrorMessage: '密码格式不正确',
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then(val => {
console.log('输入的密码为:', val);
}).catch(() => {
console.log('取消输入');
});
```
在这段代码中,`inputPattern` 的值是一个新的正则表达式。这个正则表达式的含义如下:
- `^` 匹配字符串的开始位置。
- `[^\s\u4e00-\u9fa5]` 匹配除空格和中文字符外的任意字符。
- `{6,20}` 匹配前面的表达式 6 到 20 次。
- `(?=...)` 使用正向预测先行断言,表示必须匹配括号中的表达式。
- `.*[A-Za-z]` 匹配任意字符,后面必须跟一个字母。
- `.*\d` 匹配任意字符,后面必须跟一个数字。
- `.*[~!@#$%^&*()_+{}:"<>?\`\-\=[\]\\;',./]` 匹配任意字符,后面必须跟一个特殊符号。
- `$` 表示匹配字符串的结束位置。
当用户输入的内容不符合要求时,会弹出一个错误提示框,提示信息为 `inputErrorMessage` 指定的值。当用户点击确定按钮时,会执行 `then` 回调函数,回调函数的参数即为用户输入的内容;当用户点击取消按钮时,会执行 `catch` 回调函数。
阅读全文