今天摘抄了网上一些朋友的文章。结合自己的测试,整了一下一些常用的js正则表达式验证方式。
下面以一下html页面的方式展现出来。代码在javascript部分:以后有合适的再陆续补充
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>javascript正则表达式</title>
<script type="text/javascript" language="javascript">
function checkUser(str){/**只允许字母数字和下划线,且长度4-16以内**/
var re = /^[a-zA-z]\w{3,15}$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function checkMobile(str) {/**手机号码验证,1打头,11位纯数字**/
var re = /^1\d{10}$/
if (re.test(str)) {
alert("正确");
} else {
alert("错误");
}
}
/**
* 验证规则:区号+号码,区号以0开头,3位或4位
* 号码由7位或8位数字组成
* 区号与号码之间可以无连接符,也可以“-”连接
* 如:01088888888,010-88888888,0813-7777777
*/
function checkPhone(str){/**电话号码验证**/
var re = /^0\d{2,3}-?\d{7,8}$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
/**
* 第一部分:由字母、数字、下划线、短线“-”、点号“.”组成
* 第二部分:为一个域名,域名由字母、数字、短线“-”、域名后缀组成
* 域名后缀一般为.xxx或.xxx.xx,一区的域名后缀一般为2-4位,如cn,com,net,现在域名有的也会大于4位
*/
function checkEmail(str){
var re = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function onlyNumbers(){/**只能输入正整数和小数和0**/
var str = document.getElementById("txtNumber").value;
var re = /^\d+\.?\d*$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function onlyNumbersZZS(){/**正整数**/
var str = document.getElementById("txtNumber").value;
var re = /^[0-9]*[1-9][0-9]*$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function onlyNumbersZZSZ(){/**正整数和0**/
var str = document.getElementById("txtNumber").value;
var re = /^\d+$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function onlyNumbersFZS(){/**负整数**/
var str = document.getElementById("txtNumber").value;
var re = /^-[0-9]*[1-9][0-9]*$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function onlyNumbersFZSZ(){/**正负整数和0**/
var str = document.getElementById("txtNumber").value;
var re = /^-?\d+$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function onlyNumbersGZ(){/**大于0且,保留两位小数以内的正数和小数点**/
var str = document.getElementById("txtNumber").value;
var re = /^(([0-9]+[\.]?[0-9]{1,2})|[1-9])$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function checkIdNo(){/**验证身份证,最后一位或大写的X**/
var str = document.getElementById("txtNumber").value;
var re = /^\d{17}(\d|X)$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
}
function checkChar(){/**只有26个英文字母组成,大小写可用**/
var str = document.getElementById("txtNumber").value;
var re = /^[A-Za-z]+$/;
if(re.test(str)){
alert("正确");
}else{
alert("错误");
}
//其它:/^[A-Z]+$/ 26个大写字母
//其它:/^[a-z]+$/ 26个小写字母
//其它:/^[A-Za-z0-9]+$/ 26个大小写字母和数字组成
//其它:/^\w+$/ 26个大小写字母和数字和下划线组成
}
</script>
</head>
<body>
<input type="text" id="txtNumber" name="txtNumber" value="" />
<br/>
<a href=javascript:checkUser("DD1234567_890123")>可输入字母数字下划线</a><br/>
<a href=javascript:checkMobile("13480013000")>验证手机号</a><br/>
<a href=javascript:checkPhone("0955-7777777")>验证电话号码</a><br/>
<a href=javascript:checkEmail("zyujie-123@163.com.cn")>验证邮箱</a><br/>
<a href=javascript:checkChar()>其它测试</a><br/>
</body>
</html>