form:http://www.cnitblog.com/neatstudio/

/** *//**/ /* $#################################################$ */

/** *//**/ /* 程序功能:输入验证 */

/** *//**/ /* 函数名称: */

/** *//**/ /* function CheckData(valname,val,valimode,limitlen) */

/** *//**/ /* 功能说明:验证字符串数据 */

/** *//**/ /* function CheckUserName(val,min,max) */

/** *//**/ /* 功能说明:验证用户名 */

/** *//**/ /* function CheckPassWord(val,min,max) */

/** *//**/ /* 功能说明:验证密码 */

/** *//**/ /* function IsSame(val1,val2) */

/** *//**/ /* 验证密码匹配 */

/** *//**/ /* function CheckEmail(val,mode) */

/** *//**/ /* 功能说明:验证Email */

/** *//**/ /* function CheckValHeight(val,min,max,mode) */

/** *//**/ /* 功能说明:验证用户身高 */

/** *//**/ /* function CheckValWeight(val,min,max,mode) */

/** *//**/ /* 功能说明:验证用户体重 */

/** *//**/ /* function CheckNumber(val,min,max,mode) */

/** *//**/ /* 功能说明:验证数值 */

/** *//**/ /* function CheckPositive(val,min,max,mode) */

/** *//**/ /* 功能说明:验证正数值 */

/** *//**/ /* function CheckNegative(val,min,max,mode) */

/** *//**/ /* 功能说明:验证负数值 */

/** *//**/ /* function CheckFloat(val,min,max,mode) */

/** *//**/ /* 功能说明:验证浮点数值 */

/** *//**/ /* function CheckPath(val,mode) */

/** *//**/ /* 功能说明:验证文件路径 */

/** *//**/ /* function CheckURL(val,mode) */

/** *//**/ /* 功能说明:验证URL */

/** *//**/ /* function CheckChinaIDCard_J(val,mode) */

/** *//**/ /* 功能说明:验证身份证 */

/** *//**/ /* function isInteger(sNum) */

/** *//**/ /* 功能说明:验证整数 */

/** *//**/ /* function CheckZip(val,slen,mode) */

/** *//**/ /* 功能说明:验证Zip */

/** *//**/ /* 输入参数:mode真&假(是否允许为空) */

/** *//**/ /* val表单(被判断项),va2表单(被判断项) */

/** *//**/ /* max(最大值),min(最小值) */

/** *//**/ /* 编写时间: 2003.09.08.2214 */

/** *//**/ /* $#################################################$ */

// 验证字符串数据

function CheckData(valname,val,valimode,limitlen)
{

if ( val.value.indexOf( " < " , 0 ) > 0 || val.value.indexOf( " > " , 0 ) > 0 )
{
alert(valname + " 不能包含<或>字符!。 " );
val.focus();
val.select();
return false ;
}

if (valimode == 1 )
{

if (isblank(val.value))
{
alert(valname + " 不能为空! " );
val.focus();
val.select();
return false ;
}
tmp = new String(val.value)

if (istoolong(tmp,limitlen))
{
alert(valname + " 不能超过 " + limitlen + " 个字符! " );
val.focus();
val.select();
return false ;
}
}

else
{
tmp = new String(val.value)

if (istoolong(tmp,limitlen))
{
alert(valname + " 不能超过 " + limitlen + " 个字符!! " );
val.focus();
val.select();
return false ;
}
}
return true ;
}

function isblank(str)
{
var i;
var len = str.length;

for (i = 0 ;i < len; ++ i)
{
if (str.charAt(i) != " " )
return false ;
}
return true ;
}

function istoolong(str,i)
{
var len = str.length;
if (i == 0 )
return false ;

else
{
if (len > i)
return true ;
else
return false ;
}
}

// 验证用户名

function CheckUserName(val,min,max)
{
var len = val.value.length;

if (len < min || len > max)
{
alert( " 用户名长度不正确,应为 " + min + " - " + max + " 个英文字母、数字。 " );
val.focus();
val.select();
return false ;
}

for (i = 0 ;i < val.value.length;i ++ )
{
var ch = val.value.charAt(i);

if ( (ch < " 0 " || ch > " 9 " ) && (ch < " a " || ch > " z " ))
{
alert( " 用户名必须由小写字母或数字组成。 " );
val.focus();
val.select();
return false ;
}
}
var first = val.value.charAt( 0 )

if (first < " a " || ch > " z " )
{
alert( " 用户名必须由小写字母开头。 " );
val.focus();
val.select();
return false ;
}

return true ;
}
// 验证密码

function CheckPassWord(val,min,max)
{
var len = val.value.length;

if (len < min || len > max)
{
alert( " 密码长度不正确,应为 " + min + " - " + max + " 个英文字母、数字。 " );
val.focus();
val.select();
return false ;
}

for (i = 0 ;i < val.value.length;i ++ )
{
var ch = val.value.charAt(i);

if ( (ch < " 0 " || ch > " 9 " ) && (ch < " a " || ch > " z " ))
{
alert( " 密码必须由小写字母或数字组成。 " );
val.focus();
val.select();
return false ;
}
}
return true ;
}
// 验证密码匹配

function IsSame(val1,val2)
{

if (val1.value != val2.value )
{
alert( " 两次输入的密码不相同。 " );
val2.focus();
val2.select();
return false ;
}
else
return true ;
}
// 验证Email

function CheckEmail(val,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

var etext
var elen
var i
var aa
etext = val.value
elen = etext.length

if (elen < 5 )
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}
i = etext.indexOf( " @ " , 0 )

if (i == 0 || i ==- 1 || i == elen - 1 )
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}

else
{

if (etext.indexOf( " @ " ,i + 1 ) !=- 1 )
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}
}

if (etext.indexOf( " .. " ,i + 1 ) !=- 1 )
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}
i = etext.indexOf( " . " , 0 )

if (i == 0 || i ==- 1 || etext.charAt(elen - 1 ) == '.')
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}

if ( etext.charAt( 0 ) == ' - ' || etext.charAt(elen - 1 ) == ' - ')
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}

if ( etext.charAt( 0 ) == '_' || etext.charAt(elen - 1 ) == '_')
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}

for (i = 0 ;i <= elen - 1 ;i ++ )
{
aa = etext.charAt(i)

if ( ! ((aa == '.') || (aa == '@') || (aa == ' - ') || (aa == '_') || (aa >= ' 0 ' && aa <= ' 9 ') || (aa >= 'a' && aa <= 'z') || (aa >= 'A' && aa <= 'Z')))
{
alert( " 请输入正确的Email。 " );
val.focus();
val.select();
return false ;
}
}
return true ;
}


// 验证用户身高

function CheckValHeight(val,min,max,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

var len = val.value.length;

if (len < min || len > max)
{
alert( " 请输入正确的身高数据。 " );
val.focus();
val.select();
return false ;
}
var val2 = val.value;

for (i = 0 ;i < val2.length;i ++ )
{
var ch = val2.charAt(i);

if ( (ch < " 0 " || ch > " 9 " ) )
{
alert( " 身高数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}
}

if (isNaN(val2))
{
alert( " 身高数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}

else if (parseInt(val2) <= 0 )
{
alert( " 身高数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' 0 ') == 0 )
{
alert( " 身高数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}
return true ;
}
// 验证用户体重

function CheckValWeight(val,min,max,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

var len = val.value.length;

if (len < min || len > max)
{
alert( " 请输入正确的体重数据。 " );
val.focus();
val.select();
return false ;
}
var val2 = val.value;

for (i = 0 ;i < val2.length;i ++ )
{
var ch = val2.charAt(i);

if ( (ch < " 0 " || ch > " 9 " ) )
{
alert( " 体重数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}
}

if (isNaN(val2))
{
alert( " 体重数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}

else if (parseInt(val2) <= 0 )
{
alert( " 体重数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' 0 ') == 0 )
{
alert( " 体重数据必须由有效数字组成。 " );
val.focus();
val.select();
return false ;
}
return true ;
}
// 验证数值

function CheckNumber(val,min,max,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

var len = val.value.length;

if (len < min || len > max)
{
alert( " 请输入正确的数值。 " );
val.focus();
val.select();
return false ;
}
var val2 = val.value;

for (i = 1 ;i < val2.length;i ++ )
{
var ch = val2.charAt(i);

if ( (ch < " 0 " || ch > " 9 " ) )
{
alert( " 请输入正确的数值。 " );
val.focus();
val.select();
return false ;
}
}

if (isNaN(val2))
{
alert( " 请输入正确的数值。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' 0 ') == 0 && len > 1 )
{
alert( " 请输入正确的有效数值。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' - ') == 0 && val2.indexOf(' 0 ') == 1 )
{
alert( " 请输入正确的有效数值。 " );
val.focus();
val.select();
return false ;
}
return true ;
}
// 验证正数值

function CheckPositive(val,min,max,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}


if ( ! CheckNumber(val,min,max,mode))
{
val.focus();
val.select();
return false ;
}

if (parseInt(val.value) <= 0 )
{
alert( " 数据必须为有效的正整数。 " );
val.focus();
val.select();
return false ;
}

return true ;
}

// 验证负数值

function CheckNegative(val,min,max,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}


if ( ! CheckNumber(val,min,max,mode))
{
val.focus();
val.select();
return false ;
}

if (parseInt(val.value) >= 0 )
{
alert( " 数据必须为有效的负整数。 " );
val.focus();
val.select();
return false ;
}

return true ;
}
// 验证浮点数值

function CheckFloat(val,min,max,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

var len = val.value.length;

if (len < min || len > max)
{
alert( " 请输入正确的浮点数值。 " );
val.focus();
val.select();
return false ;
}
var val2 = val.value;

for (i = 1 ;i < val2.length;i ++ )
{
var ch = val2.charAt(i);

if ( (ch < " 0 " || ch > " 9 " ) )
{

if (ch != " . " )
{
alert( " 请输入正确的浮点数值。 " );
val.focus();
val.select();
return false ;
}
}
}

if (isNaN(val2))
{
alert( " 请输入正确的浮点数值。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' 0 ') == 0 && val2.indexOf('.') != 1 )
{
alert( " 请输入正确的有效浮点数值。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' - ') == 0 && val2.indexOf(' 0 ') == 1 && val2.indexOf('.') != 2 )
{
alert( " 请输入正确的有效浮点数值。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf(' - ') == 0 && val2.indexOf('.') == 1 )
{
alert( " 请输入正确的有效浮点数值。 " );
val.focus();
val.select();
return false ;
}

else if (val2.indexOf('.') == 0 )
{
alert( " 请输入正确的有效浮点数值。 " );
val.focus();
val.select();
return false ;
}
return true ;
}
// 验证文件路径

function CheckPath(val,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

var val2 = val.value;

if ( val2.indexOf(':\\') > 0 )
{
var isNot = " !@#$^*()'`~|]}[{;.>,<?%&+= " ;

if (val2.indexOf('\ " ')>0)
{
alert( " 请输入正确的文件路径。 " );
val.focus();
val.select();
return false;
}

else
{

for (var i = 0;i < val2.length;i++)
{

for (var x = 1 ;x < isNot.length;x++)
{

if (val2.charAt(i)==isNot.charAt(x))
{
alert( " 请输入正确的文件路径。 " );
val.focus();
val.select();
return false;
}
}
}
}
}

else
{
alert( " 请输入正确的文件路径。 " );
val.focus();
val.select();
return false;
}
return true;
}
//验证URL

function CheckURL(val,mode)
{

if((mode==0) && (val.value== "" ))
{
return true;
}

var val2 = val.value;

if ( val2.indexOf('://')>0 )
{
var isNot= " ! @$ ^* ()'` ~| ]} [ {;. > , < " ;

if (val2.indexOf('\ " ') > 0 )
{
alert( " 请输入正确的URL。 " );
val.focus();
val.select();
return false ;
}

else
{

for ( var i = 0 ;i < val2.length;i ++ )
{

for ( var x = 1 ;x < isNot.length;x ++ )
{

if (val2.charAt(i) == isNot.charAt(x))
{
alert( " 请输入正确的URL。 " );
val.focus();
val.select();
return false ;
}
}
}
}
}

else
{
alert( " 请输入正确的URL。 " );
val.focus();
val.select();
return false ;
}
return true ;
}
// 验证身份证

function CheckChinaIDCard_J(val,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}

sNo = val.value.toString()

if ( ! isInteger(sNo))
{
alert( " 请输入正确的身份证。 " );
val.focus();
val.select();
return false
}

switch (sNo.length)
{

case 15 : if (isValidDate(sNo.substr( 6 , 2 ),sNo.substr( 8 , 2 ),sNo.substr( 10 , 2 )))
{
return true
}

case 17 : if (isValidDate(sNo.substr( 6 , 4 ),sNo.substr( 10 , 2 ),sNo.substr( 12 , 2 )))
{
return true
}
}
alert( " 请输入正确的身份证。 " );
val.focus();
val.select();
return false
}

function isInteger(sNum)
{
var num
num = new RegExp('[ ^ 0 - 9_]','')

if (isNaN(sNum))
{
return false
}

else
{

if (sNum.search(num) >= 0 )
{
return false
}

else
{
return true
}
}
}

// 验证Zip

function CheckZip(val,slen,mode)
{

if ((mode == 0 ) && (val.value == "" ))
{
return true ;
}


if (val.value.length != slen)
{
alert('请输入正确的邮政编码 !! ');
val.focus();
val.select();
return false
}
var r1
r1 = new RegExp('[ ^ 0 - 9 ]','');

if ( val.value.search(r1) >= 0 )
{
alert('请输入正确的邮政编码 !! ');
val.focus();
val.select();
return false
}
else
return true ;
}


电话号码的验证

要求:
( 1 )电话号码由数字、 " ( " 、 " ) " 和 " - " 构成
( 2 )电话号码为3到8位
( 3 )如果电话号码中包含有区号,那么区号为三位或四位
( 4 )区号用 " ( " 、 " ) " 或 " - " 和其他部分隔开
( 5 )移动电话号码为11或12位,如果为12位,那么第一位为0
( 6 )11位移动电话号码的第一位和第二位为 " 13 "
( 7 )12位移动电话号码的第二位和第三位为 " 13 "
根据这几条规则,可以与出以下正则表达式:

( ^ [ 0 - 9 ]
{ 3 , 4 } \ - [ 0 - 9 ]
{ 3 , 8 } $) | ( ^ [ 0 - 9 ]
{ 3 , 8 } $) | ( ^ \([ 0 - 9 ]
{ 3 , 4 } \)[ 0 - 9 ]
{ 3 , 8 } $) | ( ^ 0
{ 0 , 1 } 13 [ 0 - 9 ]
{ 9 } $)


< script language = " javascript " >

function PhoneCheck(s)
{
var str = s;

var reg =/ ( ^ [ 0 - 9 ]
{ 3 , 4 } \ - [ 0 - 9 ]
{ 3 , 8 } $) | ( ^ [ 0 - 9 ]
{ 3 , 8 } $) | ( ^ \([ 0 - 9 ]
{ 3 , 4 } \)[ 0 - 9 ]
{ 3 , 8 } $) | ( ^ 0
{ 0 , 1 } 13 [ 0 - 9 ]
{ 9 } $) /
alert(reg.test(str));
}
</ script >
< input type = text name = " iphone " >
< input type = button onclick = " PhoneCheck(document.all.iphone.value) " value = " Check " >
地震让大伙知道:居安思危,才是生存之道。