JS正则表达式——各种验证(2)
1.验证手机号码:
<script type="text/javascript">
/**
验证手机号码是否输入合法
验证规则:11位数字,以1开头 第二位是3、5、8
*/
function checkMobile(str)
{
var re=/^1[358][0-9]{9}$/;;
if(re.test(str))
{
alert("正确!");
}else
{
alert("错误!");
}
}
</script>
2.验证邮箱格式:
邮箱@前缀的几种类型:
1、纯数字 123456@qq.com
2、纯字母 zhangsan@qq.com
3、字母数字混合 zhang123@qq.com
4、带点的 zhang.san@qq.com
5、带下划线 zhang_san@qq.com
6、带连接线 zhang-san@qq.com
邮箱@后缀的类型:
1、123456@qq.com
2、123456@vip.qq.com
*至少有两处单词
*顶级域名一般为2~4位(如cn、com、club)
默认前缀、后缀不以'_'、'-'、'.'结尾,所以正则可以写成:
^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$
\d:表示[0-9]
验证代码如下:
<script>
function checkEmail(str){
var re = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
if (re.test(str)) {
alert("ok");
} else {
alert("nope");
}
}
</script>
Email:<input type="text" id="mail" value=""/>
<input type="button" value="check" οnclick="checkEmail(document.getElementById('mail').value);"/>
3.去除字符串的首尾的空格
function trim(str){
return str.replace(/(^\s*)|(\s*$)/g, "");
}
4.返回字符串的实际长度,一个汉字算两个长度
function strlen(str){
return str.replace(/[^\x00-\xff]/g, "**").length;
}
5.匹配邮政编码(6位)
function ispostcode(str)
{
var result=str.match(/[1-9]\d{5}(?!\d)/);
if(result==null) return false;
return true;
}
6.验证是否为(0-10000)的整数
function isint1(str)
{
var result=str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|^10000$/);
if(result==null) return false;
return true;
}
7.验证QQ号码
function isqq(str)
{
var result=str.match(/[1-9][0-9]{4,}/);
if(result==null) return false;
return true;
}
8.验证身份证
function isidcard(str)
{
var result=str.match(/\d{15}|\d{18}/);
if(result==null) return false;
return true;
}
9.验证文本是否为空
function checknull(field,sval)
{
if (field.value =="")
{
alert("请填写" + sval + "!");
field.focus();
return false;
}
return true;
}