js常用判断(限制输入数字,email,电话,手机)

最近一直在写js感觉很多东西都在重复,所以总结了一下,写了一个小例子
/** 限制输入 只能输入数字 **/
function isNum( tag )
{
	//判断浏览器并获得ascII值
	var kc = window.event? event.keyCode : tag.which;
	//数字,“.”一个退格符
	if( ( kc >= 48 && kc <=57 ) || kc == 46 || kc == 8 )
	{
		
	}else{
		//ie
		if( window.event )
		{
			event.returnValue = false;
			
		}
		//firefox
		else
		{
			tag.preventDefault();	
		}
	}
	return true;
}

/** 验证邮箱 **/
function isEmail( tag )
{
	 var v = document.getElementById(tag).value;
	 var r = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	 if( "" != v )
	 {
	
			if(!r.test(v) )
			{
				
				document.getElementById( tag + "Error").innerHTML = "<font color='red'>请输入正确的邮箱地址</font>";
				return false;
			}else
			{
				clearErrorInfo( tag );
				return true;
			}	  
		
	 }
}

/** 验证电话 **/
function isPhone( tag )
{
	var v = document.getElementById(tag).value;
	 var r = /^\d{3}-?\d{8}|\d{4}-?\d{7}$/;
	 if( "" != v )
	 {
		
			if(!r.test(v) )
			{
				
				document.getElementById( tag + "Error").innerHTML = "<font color='red'>请输入正确的电话号码如:010-12345678或0511-1234567</font>";
				return false;
			}else
			{
				clearErrorInfo( tag );
				return true;
			}	  
		
	 }
}

/** 验证手机 **/
function isMobile( tag )
{
	 var v = document.getElementById(tag).value;
	 //支持13*,15*,18*
	 var r = /^1[358]\d{9}$/;
	 if( "" != v )
	 {
		
			if(!r.test(v) )
			{
				
				document.getElementById( tag + "Error").innerHTML = "<font color='red'>请输入正确的手机号码如:13*,15*,18*</font>";
				return false;
			}else
			{
				clearErrorInfo( tag );
				return true;
			}	  
		
	 }	
}
/** 清空显示的错误信息 **/
function clearErrorInfo( tag )
{
         document.getElementById( tag + "Error").innerHTML = "";
}

由于我对正则也不是太精通,很多东西都是自己边查资料边写的,可能不太完善,希望高手们多多指点。。。

你可能感兴趣的:(浏览器,IE,firefox)