如何自动附加EMAIL域以输入字段

时间:2009-10-01 04:03:58

标签: javascript validation

嗨这是一个简单的问题,我想: 我的要求是在文本框中,只要用户输入邮件,域名就应该自动附加。输入的名称也不应该允许除“。”之外的特殊字符。 '_' 事实上。此外,不应允许用户添加除属性文件中指定的任何其他域。这是在JAVASCRIPT

2 个答案:

答案 0 :(得分:2)

为什么不简单地显示

| _____________ | @ yourdomain.com

并在提交(onsubmit事件)时或在服务器端进行追加?

e.g。

function email_form_submit(event)
{
    event = event || window.event;

    if (event.preventDefault)
        event.preventDefault();

    if (event.stopPropagation)
        event.stopPropagation();
    else
        event.cancelBubble = true;

    var form = document.getElementByID('your form id');
    var element = document.getElementByID('your email form element id');
    element.value = element.value + "yourdomain.com";

    form.submit();

    return false;
}

请参阅http://msdn.microsoft.com/en-us/library/ms536972%28VS.85%29.aspx

修改
快速验证正则表达式。注意:未经测试

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;
    }

}

编辑:修复语法错误

答案 1 :(得分:0)

我强烈建议使用现有的javascript表单验证库来处理字段中的合法字符。 JQuery有几个validation plugins,快速谷歌搜索“javascript验证库”产生了this library

但是,对于域名,我不会在您的字段中允许任何域名,并在服务器端附加域名。这会使事情变得更容易,因为为了确保它们在字段中不包含域名,您只需将@符号作为字段验证规则中的非法字符之一。