JS中验证检测用户输入的电子邮件是否含有@

1)在浏览器屏幕的左上角显示一个文本框,其上方显示提示信息:“请正确输入您的邮件地址:”,其右面设置一个命令按钮,上方显示文字:“邮件地址核对”。界面见图示。 2)当在文本框中没有输入任何字符时或者不含有“@”时,用鼠标单击“邮件地址核对” 命令按钮时,则显示一个窗口,上面显示提示信息:“邮件地址输入错误,请重新输入!”3)当在文本框中输入的字符含有“@”时,用鼠标单击“邮件地址核对”命令按钮时,则显示一个窗口,上面显示提示信息:“邮件地址输入正确!”

window.inputElement = document.getElementById('a');
//假定输入框id为a,获取输入框
window.p = document.createElement('p');
document.body.appendChild(p);
p.setAttribute('style','position:fixed;top:0;left:0;');
//创造提示信息框
inputElement.addEventListener('click',loadMessage('请正确输入您的邮件地址<span onclick=“check()”>邮件地址核对</span>'));
function loadMessage(message){
    p.innerHTML = message;
}//提示信息的函数
function check(){
     var str = inputElement.value;
     var regex = /\@/g;
     regex.test(str)?
         loadMessage('邮件地址输入正确!'):
         loadMessage('邮件地址输入错误');//三目运算符,可使用if..else..语句替代
     setTimeout(loadMessage('请正确输入您的邮件地址<span onclick='check()'>邮件地址核对</span>'),1000);//一秒过后恢复现场
}//检查内容并操作的内容

重点部分:

1.正则表达式判断的语句:

var str = inputElement.value;
var regex = /\@/g;//是否存在"@"
regex.test(str);//返回值:true/false

2.innerHTML运用在文本提示框

function loadMessage(message){
    p.innerHTML = message;
}//提示信息的函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-02

建议你学习下正则表达式,每种语言都能用的,使用方法大体相同却又各有不同

我会VB的,没办法给出JS的正则表达式写法,但是思路给你了,去学习下就好

举个例子,电子邮件的VB正则表达式是"\w+@\w+\.\w+(\.\w+){0,1}"

这是一个我刚写的从一段话中提取邮箱的例子,当然也可以检测是否存在邮箱

学习正则表达式才能让文本处理走上正途,别的文本函数局限性太大

追问

不需要复杂的正则表达。只是应付考试

    当在文本框中输入姓名,且用鼠标单击“输入测试”命令按钮时,则显示一个窗口,上面显示如下信息:“你已输入完成!”

    当在文本框中没有输入任何字符或输入的字符不包含“@”,且用鼠标单击“输入测试” 命令按钮时,则显示一个窗口,上面显示提示信息:“这不是正确的邮件地址,请重新输入!”

本回答被网友采纳
第2个回答  2018-05-02
描述不是很清楚啊
相似回答