/* $#################################################$ */
/** *//**/ /* 程序功能:输入验证 */
/** *//**/ /* 函数名称: */
/** *//**/ /* 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 " >