常用的js验证数字,电话号码,传真,邮箱,手机号码,邮编,日期
1、数字
function testisNum(object)
{
var s =document.getElementById(object.id).value;
if(s!="")
{
if(isNaN(s))
{
alert("请输入数字");
object.value="";
object.focus();
}
}
}
2、电话号码,传真
//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(object)
{
//国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
var s =document.getElementById(object.id).value;
var pattern =/^(([0/+]/d{2,3}-)?(0/d{2,3})-)(/d{7,8})(-(/d{3,}))?$/;
//var pattern =/(^[0-9]{3,4}/-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
if(s!="")
{
if(!pattern.exec(s))
{
alert('请输入正确的电话号码:电话号码格式为国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"');
object.value="";
object.focus();
}
}
}
3、邮箱
function Check(object)
{
var s =document.getElementById(object.id).value;
var pattern =/^[a-zA-Z0-9_/-]{1,}@[a-zA-Z0-9_/-]{1,}/.[a-zA-Z0-9_/-.]{1,}$/;
if(s!="")
{
if(!pattern.exec(s))
{
alert('请输入正确的邮箱地址');
object.value="";
object.focus();
}
}
}
4、手机号码
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobile(object)
{
var s =document.getElementById(object.id).value;
var reg0 = /^13/d{5,9}$/;
var reg1 = /^153/d{4,8}$/;
var reg2 = /^159/d{4,8}$/;
var reg3 = /^0/d{10,11}$/;
var my = false;
if (reg0.test(s))my=true;
if (reg1.test(s))my=true;
if (reg2.test(s))my=true;
if (reg3.test(s))my=true;
if(s!="")
{
if (!my)
{
alert('请输入正确的手机号码');
object.value="";
object.focus();
}
}
}
//校验日期
function isdate(object)
{
var s =document.getElementById(object.id).value;
var pattern =/^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(/s(((0?[0-9])|([1-2][0-3]))/:([0-5]?[0-9])((/s)|(/:([0-5]?[0-9])))))?$/;
if(s!="")
{
if(!pattern.exec(s))
{
alert('请输入正确的日期');
object.value="";
object.focus();
}
}
}
5、邮编
//校验(国内)邮政编码
function isPostalCode(object)
{
var s =document.getElementById(object.id).value;
var pattern =/^[0-9]{6}$/;
if(s!="")
{
if(!pattern.exec(s))
{
alert('请输入正确的邮政编码');
object.value="";
object.focus();
}
}
}
6、日期
//校验日期
function isdate(object)
{
var s =document.getElementById(object.id).value;
var pattern =/^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(/s(((0?[0-9])|([1-2][0-3]))/:([0-5]?[0-9])((/s)|(/:([0-5]?[0-9])))))?$/;
if(s!="")
{
if(!pattern.exec(s))
{
alert('请输入正确的日期');
object.value="";
object.focus();
}
}
}
一、清除空格
String.prototype.trim = function()//去除空格
{
return this.replace(/(^[/s]*)|([/s]*$)/g, "");
}
二、检查一个字符串是否包含特殊字符
/*
功能:检查传入的字符串中是否包含特殊字符
参数:str-要检查的字符串
输出:"1"表示字符串不包含特殊字符,验证成功;否则返回"0"
相关说明:空字符串可通过验证
*/
function CheckSpecialString(str)
{
StringFilter = new Array ("'" ,"//", ".", ",", ";", "/","<","}","%","*");//可以向StringFilter中添加要过滤的字符
i=StringFilter.length;
j=str.length;
for (k=0;k{
for (m=0;m
temp1=str.charAt(m);
temp2=StringFilter[k];
if (temp1==temp2)
{
return 0;
}
}
}
return 1;
}
三、检查一个字符串是否为中文
/*
功能:检查传入的字符串是否为中文
参数:str-要检查的字符串
输出:true表示验证成功,false表示验证不成功
相关说明:空字符串可以通过验证,且包含中文的特殊字符
*/
function IsChineseString(str)
{
var pattern_cn = /^([/u4E00-/u9FA5]|[/uFE30-/uFFA0])*$/gi;
if(pattern_cn.test(str))
{
return true;
}
else
{
return false;
}
}
四、检查一个字符串中是否包含全角空格
/*
功能:检查传入的字符串是否为中文
参数:str-要检查的字符串
输出:true表示验证成功(不饮食全解空格),false表示验证不成功
相关说明:空字符串可以通过验证
*/
function FullSpace(str)
{
var Reg = // /;
var booleanT = Reg.test(str);
if (booleanT == true)
{
return false;
}
return true;
}
五、比较两个字符串形式的日期大小
/*比较两个字符串形式的日期大小
功能:比较两个字符串形式的日期大小
参数:firstDate-要检查日期字符串,字符串形式为"2007/05/08"或“2007-05-08”
secondDate-要检查的日期字符串,字符串形式为"2007/05/08"或“2007-05-08”
输出:true表示第一个日期大于第二个日期,false表示第二个日期大于或等于第一个日期
相关说明:空字符串可以通过验证
*/
function DateExample(firstDate,secondDate)
{
if ( firstDate.indexOf("-") > 0)
{
firstDate = firstDate.replace(/-/g,"/") ;
}
if ( secondDate.indexOf("-") > 0)
{
secondDate = secondDate.replace(/-/g,"/") ;
}
var FirstDate = new Date(Date.parse(firstDate)) ;
var SecondDate = new Date(Date.parse(secondDate)) ;
alert( FirstDate > SecondDate );
}
六、检查一个字符串是否为一个IP地地
/*
功能:检查传入的字符串是否为一个IP地址
参数:str-要检查的字符串
输出:true表示验证成功,false表示验证不成功
相关说明:空字符串不可以通过验证
*/
function CheckIP(str)
{
var Reg = /^([1-9]|[1-9]/d|1/d{2}|2[0-1]/d|22[0-3])(/.(/d|[1-9]/d|1/d{2}|2[0-4]/d|25[0-5])){3}$/;
var booleanT = Reg.test(str);
return booleanT ;
}
七、整除函数
function Div(exp1, exp2)
{
var n1 = Math.round(exp1); //四舍五入
var n2 = Math.round(exp2); //四舍五入
var rslt = n1 / n2; //除
if (rslt >= 0)
{
rslt = Math.floor(rslt); //返回值为小于等于其数值参数的最大整数值。
}
else
{
rslt = Math.ceil(rslt); //返回值为大于等于其数字参数的最小整数。
}
return rslt;
}
判断输入是否为正整数?
1) "^//d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-//d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?//d+$" //整数
"^//d+(//.//d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-//d+(//.//d+)?)|(0+(//.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?//d+)(//.//d+)?$" //浮点数
测试: