Javascript 如何将电子邮件域自动附加到输入的字段
嗨,我想这是一个简单的问题: 我的要求是,每当用户输入邮件时,文本框中都会自动添加域名。此外,输入的域名不允许使用除“.”以外的特殊字符。此外,除了在属性文件中指定的域之外,不应允许用户添加任何其他域。这是在JAVASCRIPT中,为什么不简单地显示 |_____________|@yourdomain.com 在提交时(onsubmit事件)或在服务器端执行追加操作 e、 g 看 编辑Javascript 如何将电子邮件域自动附加到输入的字段,javascript,validation,Javascript,Validation,嗨,我想这是一个简单的问题: 我的要求是,每当用户输入邮件时,文本框中都会自动添加域名。此外,输入的域名不允许使用除“.”以外的特殊字符。此外,除了在属性文件中指定的域之外,不应允许用户添加任何其他域。这是在JAVASCRIPT中,为什么不简单地显示 |_____________|@yourdomain.com 在提交时(onsubmit事件)或在服务器端执行追加操作 e、 g 看 编辑 快速验证正则表达式。注:未经测试 function validate_email_address(event
快速验证正则表达式。注:未经测试
function validate_email_address(event)
{
event = event || window.event;
var regex = /^[a-zA-Z0-9._]+@yourdomain\.com$/;
var element = document.getElementByID('your email form element id');
element.value = element.value + "yourdomain.com";
if (!regex.test(element.value))
{
alert("Invalid Email");
if (event.preventDefault)
event.preventDefault();
return false;
}
}
编辑:修复语法错误我强烈建议使用现有的javascript表单验证库来处理字段中的合法字符。有几个,谷歌快速搜索“javascript验证库”产生了
但是,对于域,我不允许在您的域中使用任何域名,而是将域名附加到服务器端。这将使事情变得更容易,因为要确保它们在字段中不包含域名,只需在字段验证规则中将@符号作为非法字符之一即可。javascript不能是验证的唯一方法。请确保您也进行服务器端验证。很抱歉,我没有选择使用JQUERY,但我知道它有很多功能。通常我希望使用正则表达式。电子邮件有很多正则表达式,但大多数都不正确。由于您似乎对电子邮件有特定的限制,我将使用regex添加一个快速验证函数,但是Soviut建议使用验证库,这很可能是您想要的
function validate_email_address(event)
{
event = event || window.event;
var regex = /^[a-zA-Z0-9._]+@yourdomain\.com$/;
var element = document.getElementByID('your email form element id');
element.value = element.value + "yourdomain.com";
if (!regex.test(element.value))
{
alert("Invalid Email");
if (event.preventDefault)
event.preventDefault();
return false;
}
}