CRM Javascript 检查无效的电子邮件格式并准确输入一封电子邮件
CRM Javascript to check invalid email format and enter exactly one email
我正在为 CRM 2013 编写一个 javascript,它会在修改文本字段时触发。要求是:
- 检查输入的电子邮件地址是否无效。提醒弹出窗口
信息。
- 检查是否有多个电子邮件地址和警报弹出
上消息。此字段中只允许使用一个电子邮件地址。
这是我的代码。起初我使用分隔符来检查电子邮件地址输入列表并且它有效。我现在删除了要求 #2 的分隔符,它不再起作用了。我是否需要更改特定于一个电子邮件地址的正则表达式?
function EmailTest(EmailField) {
var Email = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if (Email.test(EmailField)) {
return true;
} else {
return false;
}
}
function CheckEmailString(context) {
try {
//getting the input
var EmailString = context.getEventSource().getValue();
if (EmailString != null) {
var Flag = true;
if (!EmailTest(EmailString)) {
Flag = false;
}
//}
if (Flag != true) {
alert("Please check if the email might contain invalid format. Note that only one email address is allowed for this.");
//prevents users from saving the form if not valid
//context.getEventArgs().preventDefault();
//Xrm.Page.context.getEventArgs.preventDefault();
}
}
} catch (err) {
alert(err.message);
}
}
只要文本框以有效的电子邮件地址开头(即 test@example.com),您当前使用的正则表达式就会测试是否为真 - 您需要包含字符串结尾表达式末尾的字符 $
以检查匹配后没有其他内容:
/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+$/;
除此之外,还可以使正则表达式更简洁一些。我建议进行以下编辑以获得相同的评估结果:
/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+\.[a-zA-Z]{2,}$/;
另一个建议是 trim EmailField
中的文本 运行 通过表达式,作为字段开头或结尾的空格或其他空白字符会导致测试失败。
我正在为 CRM 2013 编写一个 javascript,它会在修改文本字段时触发。要求是:
- 检查输入的电子邮件地址是否无效。提醒弹出窗口 信息。
- 检查是否有多个电子邮件地址和警报弹出 上消息。此字段中只允许使用一个电子邮件地址。
这是我的代码。起初我使用分隔符来检查电子邮件地址输入列表并且它有效。我现在删除了要求 #2 的分隔符,它不再起作用了。我是否需要更改特定于一个电子邮件地址的正则表达式?
function EmailTest(EmailField) {
var Email = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if (Email.test(EmailField)) {
return true;
} else {
return false;
}
}
function CheckEmailString(context) {
try {
//getting the input
var EmailString = context.getEventSource().getValue();
if (EmailString != null) {
var Flag = true;
if (!EmailTest(EmailString)) {
Flag = false;
}
//}
if (Flag != true) {
alert("Please check if the email might contain invalid format. Note that only one email address is allowed for this.");
//prevents users from saving the form if not valid
//context.getEventArgs().preventDefault();
//Xrm.Page.context.getEventArgs.preventDefault();
}
}
} catch (err) {
alert(err.message);
}
}
只要文本框以有效的电子邮件地址开头(即 test@example.com),您当前使用的正则表达式就会测试是否为真 - 您需要包含字符串结尾表达式末尾的字符 $
以检查匹配后没有其他内容:
/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+$/;
除此之外,还可以使正则表达式更简洁一些。我建议进行以下编辑以获得相同的评估结果:
/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+\.[a-zA-Z]{2,}$/;
另一个建议是 trim EmailField
中的文本 运行 通过表达式,作为字段开头或结尾的空格或其他空白字符会导致测试失败。