嗨这是一个简单的问题,我想: 我的要求是在文本框中,只要用户输入邮件,域名就应该自动附加。输入的名称也不应该允许除“。”之外的特殊字符。 '_' 事实上。此外,不应允许用户添加除属性文件中指定的任何其他域。这是在JAVASCRIPT
答案 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。
但是,对于域名,我不会在您的字段中允许任何域名,并在服务器端附加域名。这会使事情变得更容易,因为为了确保它们在字段中不包含域名,您只需将@符号作为字段验证规则中的非法字符之一。