多个邮箱英文逗号隔开正则
时间: 2023-09-02 16:14:07 浏览: 132
以下是一个匹配多个邮箱地址、用英文逗号隔开的正则表达式:
```
^(\s*[\w+\-.%]+@[a-z0-9\-.]+\.[a-z]{2,}\s*,)*\s*[\w+\-.%]+@[a-z0-9\-.]+\.[a-z]{2,}\s*$
```
该正则表达式包含两个部分:
- `(\s*[\w+\-.%]+@[a-z0-9\-.]+\.[a-z]{2,}\s*,)*`:匹配一个或多个邮箱地址,每个地址之间用英文逗号隔开。其中,`\s*`表示可以有零个或多个空格;`[\w+\-.%]+@[a-z0-9\-.]+\.[a-z]{2,}`表示匹配一个邮箱地址;`\s*,`表示一个邮箱地址后面可以有零个或多个空格,然后是一个英文逗号。
- `[\w+\-.%]+@[a-z0-9\-.]+\.[a-z]{2,}`:匹配最后一个邮箱地址。
整个正则表达式使用了 `^` 和 `$`,表示只匹配整个字符串(即只匹配一行文本)。
相关问题
vue校验多个邮箱,中间用逗号或换行符隔开
Vue.js 可以通过使用自定义指令或者表单验证规则来实现在输入框中校验多个邮箱地址。这里提供一种简单的方式:
1. **使用 v-model 和数组绑定**:
创建一个数组来存储所有的邮箱,并使用 `v-model` 绑定到这个数组。例如:
```html
<input type="text" v-model="emailList" placeholder="请输入邮箱,用逗号或换行分隔">
```
在 Vue 实例中:
```javascript
data() {
return {
emailList: [],
};
},
```
2. **自定义校验函数**:
定义一个数组校验函数,检查每个元素是否符合邮箱格式:
```javascript
methods: {
validateEmails() {
const regex = /^[\w.-]+@[\w-]+\.\w+$/; // 邮箱正则表达式
this.emailList.forEach((email) => {
if (!regex.test(email.trim())) {
this.$set(this.emailList, this.emailList.indexOf(email), ""); // 清除无效邮箱并更新视图
}
});
},
},
watch: {
'emailList': {
immediate: true,
handler(newVal, oldVal) {
this.validateEmails();
},
},
},
```
3. **表单提交前的验证**:
在用户提交表单前,可以再次调用这个验证函数检查所有邮箱。
阅读全文