\.是将.转意为字符串作为匹配条件,而.本身在正则中是匹配除"\n"之外的任何单个字符。
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;
}//提示信息的函数
^[a-zA-Z][\w\.-]+?@([\w\-]+\.){1,2}[a-zA-Z]{2,3}$
这个能验证 hah123@vip.sina.com,zhao_hui@qq.com; 不能验证1234@163.com
我看网易、腾讯、新浪、搜狐注册邮箱都要求第一字符为 英文字母。
^[\w\.-]+?@([\w\-]+\.){1,2}[a-zA-Z]{2,3}$
这个能验证 hah123@vip.sina.com,zhao_hui@qq.com,1234@163.com
-------------------------------
/^[a-zA-Z][\w\.-]+?@([\w\-]+\.){1,2}[a-zA-Z]{2,3}$/.test('hanh123@vip.sina.com')
/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g
开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。
代码如下:
script type="text/javascript"
function isEmail(str){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
return reg.test(str);
}
var str = 'test@hotmail.com';
document.write(isEmail(str)+'br /');
var str2 = 'test@sima.vip.com';
document.write(isEmail(str2)+'br /');
var str3 = 'te-st@qq.com.cn';
document.write(isEmail(str3)+'br /');
var str4 = 'te_st@sima.vip.com';
document.write(isEmail(str4)+'br /');
var str5 = 'te.._st@sima.vip.com';
document.write(isEmail(str5)+'br /');
/script
扩展资料:
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
参考资料:正则表达式百度百科
Stringregex=".+@.+(\\..{2,3})*\\..{2,3}";
Stringregex1="\\w+@\\w+(\\.\\w+)*\\.\\w+";
Stringregex3="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
Strings37="aaaa";
Strings38="aaaa@";
Strings39="aaaa@qqqq";
Strings40="745196899@qq.com";
Strings41="745196899@qq.com.cn";
if(s37.matches(regex)){
System.out.println(s37+"是合法的E-mail地址");
}
if(s38.matches(regex)){
System.out.println(s38+"是合法的E-mail地址");
}
if(s39.matches(regex)){
System.out.println(s39+"是合法的E-mail地址");
}
if(s40.matches(regex)){
System.out.println(s40+"是合法的E-mail地址");
}
if(s41.matches(regex)){
System.out.println(s41+"是合法的E-mail地址");
}
扩展资料
判断一个字符串是否符合某种格式
if(Regex.IsMatch(subjectString,"xyz[1-8]")){
//Successfulmatch
}else{
//Matchattemptfailed
}
取输入框window.p = document.createElement('p');document.body.appendChild(p);p.setAttribute('style',
regex1="\\w+@\\w+(\\.\\w+)*\\.\\w+";Stringregex3="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";Strings37="aaaa";Strings38="aaaa@";Strings39="aaaa@qqqq";Str
\.){1,2}[a-zA-Z]{2,3}$ 这个能验证 hah123@vip.sina.com,zhao_hui@qq.com,1234@163.com---------------------------
00);//一秒过后恢复现场}//检查内容并操作的内容重点部分:1.正则表达式判断的语句:var str = inputElement.value;var regex = /\@/g;//是否存在"@"regex.test(str);//返回值:tru