欧芹验证中带有自定义域的电子邮件的正则表达式是啥

Posted

技术标签:

【中文标题】欧芹验证中带有自定义域的电子邮件的正则表达式是啥【英文标题】:what will be regular expression for email with custom domain in parsley validation欧芹验证中带有自定义域的电子邮件的正则表达式是什么 【发布时间】:2021-03-18 01:38:50 【问题描述】:

我有一个表格,我想在上面应用欧芹验证。我只想允许域为@ciit-atk.edu.pk 的电子邮件,但我没有适用于欧芹验证的正则表达式。示例电子邮件为xx-xx-xx@ciit-atk.edu.pk,任何其他不具有相同域的电子邮件将不被接受。我不想要一个通用的正则表达式,我需要一个适用于欧芹验证的特定域的正则表达式。

<input type="email" class="form-control" name="email" placeholder="Email..." required data-parsley-pattern="" data-parsley-trigger="keyup" >

正则表达式将进入data-parsley-pattern 字段。我有这个正则表达式"^[\w-\._\+%]+@(ciit-atk.edu.pk)",但它不起作用。

【问题讨论】:

你不能检查结尾是否匹配,比如"@ciit-atk\.edu\.pk$"?还是有更多条件,比如只检查一个@ 等? 我只需要检查结尾,但@必须在那里。 但如果我不使用给定域并使用@gmail 来提交表单,尝试“@ciit-atk\.edu\.pk$”仍然会提交表单 我几乎认为这是库/配置的问题。所有的正则表达式都应该工作。要对此进行调试,您可以尝试一些非常简单的方法(例如是否存在数字)来检查 parsley 库是使用提供的正则表达式还是忽略它。 【参考方案1】:

试试这个:

let emailTrue = 'xx-xx-xx@ciit-atk.edu.pk';
let emailFalse = 'asd@gmail.com';

let emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@(ciit-atk.edu.pk)$/;
    
console.log(emailRegex.test(emailTrue));
console.log(emailRegex.test(emailFalse));

【讨论】:

先生,我不想使用完整的 javascript 代码,只想使用 jquery 的 parsley 库。我只需要问题中解释的正则表达式,不幸的是,如果我输入错误的电子邮件,您在上述代码中使用的正则表达式仍然会提交表单

以上是关于欧芹验证中带有自定义域的电子邮件的正则表达式是啥的主要内容,如果未能解决你的问题,请参考以下文章

验证电子邮件不盲目接受的最简单的正则表达式是啥? [关闭]

动态更改字段的欧芹规则

工作正则表达式在 laravel 验证中不起作用

UITableView 中带有自定义单元格的部分

javascript中带有自定义触发器的自定义事件

SWIFT 中带有自定义参数的发布请求