javascript - Vue.js 中可以用来验证输入格式的简单函数是什么?

标签 javascript validation vue.js

在 Vue.js 中我有这个:

<template>
    <button @click="sendMail(); $emit('close')">Send</button>
</template>
<script>
    methods: {
        sendMail () {
            axios.post('/mail', {email: this.email});
            this.$notify.make('Sent!', 'success');
        },
        invalidEmail () {
            this.$notify.make('Invalid email format!', 'failure'):
        }
    }
</script>

当电子邮件输入的格式无效时,如何触发 invalidEmail()

最佳答案

您可以使用正则表达式来检查电子邮件的有效性。

正则表达式的来源:http://emailregex.com/

<template>
    <button @click="sendMail(); $emit('close')">Send</button>
</template>
<script>
    // Here is the regex to test if an email is valid
    const mailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    module.exports = {
        // [...]
        methods: {
            sendMail () {
                // If this.email is not a valid email, abort by return and call this.invalidEmail
                if (!mailRegex.test(this.email)) return this.invalidEmail();

                axios.post('/mail', {email: this.email});
                this.$notify.make('Sent!', 'success');
            },
            invalidEmail () {
                this.$notify.make('Invalid email format!', 'failure'):
            }
        }
    }
</script>

关于javascript - Vue.js 中可以用来验证输入格式的简单函数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45138876/

相关文章:

java - 单击 JButton 时如何更新它的外观?

javascript - Vue.js Netlify 表单提交无法重定向到自定义感谢页面

javascript - Vue-Router:页面刷新后 View 返回登录页面

javascript - Canvas 不显示在移动设备上

javascript - 即使通过 text() 和 val() 方法也无法获取输入字段的值

javascript - PHP 循环的新闻/图像 slider ,(JS) 点击重置间隔和更好的唯一 ID 格式

regex - Symfony2.0 使用正则表达式验证

用于查找无效电子邮件地址的 SQL 脚本

webpack - 禁用 vue-cli webpack 编码图像 base64

javascript - 如何在 axios 请求中返回计算属性内的数据