我正在使用 RxSwift
pod 'RxSwift', '~> 4.0'
pod 'RxCocoa', '~> 4.0'
Run Code Online (Sandbox Code Playgroud)
我看到了用户名、密码验证的例子,因为它的工作原理是
func validateUsername(_ username: String) -> Observable<ValidationResult> {
if username.isEmpty {
return .just(.empty)
}
// this obviously won't be
if username.rangeOfCharacter(from: CharacterSet.alphanumerics.inverted) != nil {
return .just(.failed(message: "Username can only contain numbers or digits"))
}
// this obviously won't be
if username.rangeOfCharacter(from: CharacterSet.alphanumerics.inverted) != nil {
return .just(.failed(message: "Username can only contain numbers or digits"))
}
let loadingValue = ValidationResult.validating
return API
.usernameAvailable(username)
.map { available in
if available { …Run Code Online (Sandbox Code Playgroud) 如何验证访问者在我的网站上注册的时间,他/她使用的电子邮件是否有效.我想给他们发一个链接,他们可以点击这些链接来证明他们的会员资格,怎么办呢?
我使用RegularExpressionValidator验证由逗号" , " 分隔的多个电子邮件地址
我的下面的表达式适用于这个要求:
"((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*([,])*)*"
Run Code Online (Sandbox Code Playgroud)
需求是这个表达式应该能够在电子邮件地址中逗号后处理空格.
例如,我当前的表达工作文件为email1 @ domain.com,email2 @ domain.com,但它不做的是email1 @ domain.com,email2 @ domain.com
我知道可以有很多解决方案,但在我的snario中最好是增强这个表达式.
请指导我
可能重复:
用Java验证电子邮件
我正在尝试进行非常简单的电子邮件验证.但问题是当我尝试类似tom@@@@gmail.com它返回true时.
以下是代码:
public static boolean validateEmail(String email){
boolean isValidEmail = false;
// Input the string for validation
// String email = "xyz@.com";
// Set the email pattern string
Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
// Match the given string with the pattern
Matcher m = p.matcher(email);
// check whether match is found
boolean matchFound = m.matches();
StringTokenizer st = new StringTokenizer(email, ".");
String lastToken = null;
while (st.hasMoreTokens()) {
lastToken = st.nextToken();
}
if (matchFound && lastToken.length() >= …Run Code Online (Sandbox Code Playgroud) 我有这个正则表达式来匹配字符串中的电子邮件地址。
[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})
Run Code Online (Sandbox Code Playgroud)
它不是世界上最好的正则表达式,但对我来说已经足够了。
当我将它与 javascript 一起使用时:
var emails = string.match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})");
Run Code Online (Sandbox Code Playgroud)
我只匹配第一个电子邮件地址,这是正常的,因为我没有使用 g 修饰符。
问题是,当我像这样使用 g 修饰符时:
var emails = email[0].match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})g");
Run Code Online (Sandbox Code Playgroud)
var emails 为空,所以我的匹配不起作用。
如果可以,请帮我解决这个问题。
谢谢你。
我目前正在使用Asp.net,c#,Mvc2构建一个使用以下正则表达式的系统:
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$
Run Code Online (Sandbox Code Playgroud)
这是一个电子邮件正则表达式,用于验证"有效"的电子邮件地址格式.我的代码如下:
if (!Regex.IsMatch(model.Email, @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"))
ModelState.AddModelError("Email", "The field Email is invalid.");
Run Code Online (Sandbox Code Playgroud)
正则表达式可以很好地验证电子邮件,但是如果一个特别长的字符串传递给正则表达式并且它是无效的,它会导致系统继续"工作"而不解析页面.例如,这是我试图传递的数据:
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Run Code Online (Sandbox Code Playgroud)
上面的字符串会导致系统基本上锁定.我想知道为什么以及我是否可以使用正则表达式以更简单的方式完成相同的事情.我的目标是不正确形成的电子邮件地址,例如以下内容未通过:
host.@.host..com
Run Code Online (Sandbox Code Playgroud) 我正在跟随Railscast第235集,其中Ryan Bates将omniauth与Devise集成在一起.点击登录Twitter后,他的应用程序将他带回到他的应用程序中的表单,他必须在电子邮件字段中输入电子邮件地址才能完成注册.(他的用户名已填写在他编写会话代码的方式中).表单如下图所示.注意他如何使用f.email_field输入他的用户名,即使他在表中有一个用户名字段.他的应用程序在视频中成功运行.

我已经下载了他的源代码,但是当我尝试运行它时,除非我在电子邮件字段中输入电子邮件以及在用户名字段中输入电子邮件,否则我无法完成注册.因此,我将代码更改为f.username_field在注册表中
<div class="field"><%= f.label :username %><br />
<%= f.username_field :username %></div>
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误
undefined method `username_field' for #<ActionView::Helpers::FormBuilder:0x007fc058a242c8>
Run Code Online (Sandbox Code Playgroud)
:username在User.rb模型的可访问属性中列出,这是users表,带有用户名字段,所以我不知道为什么我会得到'undefined method'username_field.该应用只允许我输入用户名标签所在的电子邮件地址
create_table "users", :force => true do |t|
t.string "email", :default => "", :null => false
t.string "encrypted_password", :default => "", :null => false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", :default => 0
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "username"
t.string "provider"
t.string …Run Code Online (Sandbox Code Playgroud) 我正在尝试做的事:尝试使用Apache电子邮件验证程序查看电子邮件是否有效.我用它作为基本代码来测试它是否有效:
import org.apache.commons.validator.*;
public class main {
public static void main(String[] args) {
String email = "example@gmail.com";
EmailValidator emailvalidator = new EmailValidator();
if(emailvalidator.isValid(email)) {
System.out.println("Email is valid");
}
else {
System.out.println("Email is invalid");
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我在EmailValidator构造函数中遇到错误"构造函数EmailValidator()不可见".这导致整个程序无法正常工作.
我的问题:我该如何解决这个错误.请非常详细,因为我对Java很新.
我正在创建一个python函数来检查Python中是否存在给定的电子邮件ID.这是我的代码:
def email_validate(email_address):
addressToVerify = email_address
domain_name = addressToVerify.split('@')[1]
try:
records = dns.resolver.query(domain_name, 'MX')
except Exception as e:
print e
a = traceback.format_exc()
print a
return HttpResponse(json.dumps({"success":False,"message":"Email Domain is not valid."}), content_type="application/json")
mxRecord = records[0].exchange
mxRecord = str(mxRecord)
server = smtplib.SMTP()
server.set_debuglevel(0)
# SMTP Conversation
server.connect(mxRecord)
server.helo(host)
server.mail('me@domain.com')
try:
code, message = server.rcpt(str(addressToVerify))
server.quit()
except:
a = traceback.format_exc()
if code == 250:
return HttpResponse(json.dumps({"success":True,"message":"Email ID is valid."}), content_type="application/json")
else:
return HttpResponse(json.dumps({"success":False,"message":"Email ID is not valid."}), content_type="application/json")
Run Code Online (Sandbox Code Playgroud)
此代码适用于Gmail帐户,但它会为其他电子邮件ID提供错误.如果我尝试其他电子邮件ID,则此行:
code, message = …Run Code Online (Sandbox Code Playgroud) 我一直在四处寻找有关如何确保已在Web表单中输入的电子邮件地址有效的建议。似乎最好的解决方案是将自动电子邮件发送到用户已提交的电子邮件地址,如果他们收到了该电子邮件地址,则该电子邮件地址显然无效,那么效果很好。
我想要做的是让用户填写联系表格,当他们提交表格时,它会检查所有验证,然后将自动电子邮件发送到用户的电子邮件地址,然后根据是否成功接收到电子邮件,将原始查询发送到我的电子邮件。
我可以自动发送电子邮件,但有没有办法让php返回收到的电子邮件确认,以便我可以处理脚本的其余部分?
这是我的代码
<?php
// if user has submitted the form and there are no errors
if(($_SERVER["REQUEST_METHOD"] == "POST") && !$nameErr && !$emailErr && !$phoneErr && !$messageErr && !$botErr && !$pointsErr)
{
//Create a new PHPMailer instance
$mail = new PHPMailer;
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 0;
//Set the hostname of the mail server …Run Code Online (Sandbox Code Playgroud) email-validation ×10
regex ×4
asp.net ×2
c# ×2
email ×2
java ×2
php ×2
validation ×2
javascript ×1
mysql ×1
phpmailer ×1
python ×1
rx-swift ×1
swift ×1
username ×1