例子
/^([0-9a-z][0-9a-z_]*[0-9a-z]|[0-9a-z])@[a-z0-9.-]+.[a-z]{2,4}$/i
没有对@之后的内容做太多限制,可根据需要修改
验证邮箱格式
function check_email(obj){
var reg = /^[a-za-z0-9_-]+(.([a-za-z0-9_-])+)*@[a-za-z0-9_-]+[.][a-za-z0-9_-]+([.][a-za-z0-9_-]+)*$/;
if(obj.value!=""&&!reg.test(obj.value)){
obj.select();
alert('电子邮箱格式输入错误!');
obj.value = "";
obj.focus();
return false;
}
}
方法二
function checkemail(email){
var reginvalid=/(@.*@)|(..)|(@.)|(.@)|(^.)/;
var regvalid=/^.+@([?)[a-za-z0-9-.]+.([a-za-z]{2,3}|[0-9]{1,3})(]?)$/;
return (!reginvalid.test(vemail) && regvalid.test(vemail));
}>{n
} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,} n 是一个非负整数。至少匹配 n 次。例如,'o{2,}' 不能匹配 "bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,/jim {2,6}/ 上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。
在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。
<pre class=java name="code">s:用于匹配单个空格符,包括tab键和换行符;
s:用于匹配除单个空格符之外的所有字符;
d:用于匹配从0到9的数字;
w:用于匹配字母,数字或下划线字符;
w:用于匹配所有与w不匹配的字符;
. :用于匹配除换行符之外的所有字符。
</pre>
(说明:我们可以把s和s以及w和w看作互为逆运算)
下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。
/s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。
/d000/ 如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。