我需要验证在qlineedit中输入的文本是否具有regexp的形式,我试图使用它:
void MainWindow::checkReg( QLineEdit& mail, const QCheckBox& skip, string type )
{
if(type == "mail")
{
if( skip.checkState() != 2)
{
QRegExp mailREX("\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");
mailREX.setCaseSensitivity(Qt::CaseInsensitive);
mailREX.setPatternSyntax(QRegExp::Wildcard);
bool regMat = mailREX.exactMatch(mail.text());
if(regMat == false)
{
QMessageBox *message = new QMessageBox(this);
message->setWindowModality(Qt::NonModal);
message->setText("Inserte los datos en el formato correcto");
message->setStandardButtons(QMessageBox::Ok);
message->setWindowTitle("MainWindow");
message->setIcon(QMessageBox::Information);
message->exec();
this->ok = 0;
mail.clear();
}
else
this->ok = 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是我输入的每封邮件都像me@me.com一样,出现错误信息.我也试过用
int regMat = mailREX.indexIn(mail.text());
Run Code Online (Sandbox Code Playgroud)
它没有用.
提前致谢
我正试图从ruby中的电子邮件地址中提取信息:
Email: Joe Schmo <joeschmo@abc123.com>
Run Code Online (Sandbox Code Playgroud)
得到这三个变量:
name = ?
email = ?
domain = ?
Run Code Online (Sandbox Code Playgroud)
我试过到处寻找,但似乎无法找到如何正确地进行搜索.这是我到目前为止所拥有的:
the_email_line = "Email: Joe Schmo <joeschmo@abc123.com>"
name = (/^Email\: (.+) <(.+)>@[A-Z0-9.-]+\.(.+)/).match(the_email_line)[1]
email = (/^Email\: (.+) <(.+)>@[A-Z0-9.-]+\.(.+)/).match(the_email_line)[2]
domain = (/^Email\: (.+) <(.+)>@[A-Z0-9.-]+\.(.+)/).match(the_email_line)[3]
Run Code Online (Sandbox Code Playgroud)
关于如何正确获得这三个变量的任何想法?
我制作了一个XML Schema,我有它.
<xs:element name="Email">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
我的一个XML文档中的一些电子邮件失败,我收到此错误
电子邮件'元素无效 - 值'Some_Name@hotmail.com'根据其数据类型'String'无效 - 模式约束失败.LineNumber:15404 LinePostion:32
所以只要查看通过的所有电子邮件和失败的电子邮件,我注意到所有失败的电子邮件都有"_(下划线)".所以我不确定这是否是原因.
编辑
所以我改变了我的正则表达式
<xs:pattern value="[\w_]+([-+.'][\w_]+)*@[\w_]+([-.][\w_]+)*\.[\w_]+([-.][\w_]+)*"/>
Run Code Online (Sandbox Code Playgroud)
它现在有效,但不明白为什么\w不捕获它.
可能重复:
验证电子邮件地址的最佳正则表达式是什么?
我正在使用一个要求提供电子邮件地址的表单.我使用正则表达式作为
.*@.*\..*
但是对于我的一些测试电子邮件ID来说它不能正常工作
dsrasdf @@@ fer@hbdf.vjif
任何一个为asp.net中的电子邮件验证提供正则表达式,或者我可以使用任何其他方法.
请提出你的建议.
我正在尝试在单击提交按钮并调用js函数后验证输入文本是否具有电子邮件格式.我遇到的第一个问题是经过一些测试,我发现它没有进入被调用的函数.在此之后,我认为一切都应该没问题,但为了防止在几分钟内发出2个几乎相同的问题,生病包括最重要的部分.总结一下,它应该检查: - 电子邮件字段不为空 - 电子邮件字段有@(不考虑订单等)
然后它应该告诉它是否发现任何问题,如果没有保持一切不变
我希望我提出我的观点,如果不是我可以尝试再解释一下......
<input type="text" name="email" id="email">
<input type="submit" onclick=" proceed()"/>
<script>
proceed(){
var email= document.getElementById('email').value;
var problems;
if (email == ""){
problems = "Empty variable \n";
}
var noat = true;
for (int i=0; email.length; i++){
if (email.charAt(i) == "@"){ //Compare each character
noat=false;
break;
}
}
if (email=="" || noat=true){
problems += "No @ \n"
alert(problems);
}
}
</script>
Run Code Online (Sandbox Code Playgroud) 如何根据RFC 5322检查由我的代码生成的电子邮件是否有效 ?
我可以\xe2\x80\x99t找到语言的规范\xe2\x80\xa6
\n\n请注意,我想要一个正确的答案,例如像这样,因为我自己可以轻松地想出一个简单但可能错误的近似值,例如[[:alpha:]._][\\w._]*
我想使用 clojure 验证电子邮件。我该怎么做。
(defn validate-email [email]
)
Run Code Online (Sandbox Code Playgroud)
我想知道如何使用正则表达式编写函数体。
我正在尝试修改从其他人构建的Java程序的属性文件中提取的现有Regex表达式。
用于匹配电子邮件地址的当前Regex表达式为-
RR.emailRegex=^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9_]+\\.[a-zA-Z0-9_]+$
Run Code Online (Sandbox Code Playgroud)
可以匹配诸如abc.xyz@example.com之类的电子邮件地址,但是现在其中一些破折号诸如abc-def.xyz@example.com之类的破折号却使 Regex模式匹配失败。
我的新Regex表达式是将破折号添加到该正则表达式匹配项是什么,还是有更好的方式来表示呢?
我需要一个与电子邮件地址匹配的正则表达式,本地@域符合以下要求:
局部部分可以包含Az,0-9,点,下划线和短划线.
域可以包含Az,0-9,点和破折号.域需要包含至少一个点.
我如何确保:域不能以点或破折号开头或结尾.并且域需要包含至少一个点?
这两件事确实让我在尝试解决它时遇到了问题.
尝试了以下内容:
Regex.IsMatch(email, @"(?:[^.-])([\w.-])@([\w.-])(?:[.-]$)");
Run Code Online (Sandbox Code Playgroud)