一个js验证类
//*******************************************************************
//作者: 丁伯洋 //日期: 2006-4-27
//概要: 这里主要放的是一些检查合法性的函数
// 以_开头的函数请不要调用,
//******************************************************************* // *********************************************************************************************** //
// function getStrLength(value): 获取字符串实际长度,对于汉字作了处理。
// function checkStrLength(value,maxLen)): 检查字符串的长度,对于汉字作了处理。
// function checkEmail(value): 检查Email是否合法。
// function isVaildEmail() 检查Email是否合法(旧版网才检查邮件地址合法性)。
// function checkPhone(value): 检查电话号码是否合法。
// function checkPostalcode(value): 检查邮编是否合法。 // function checkCharWithNoException(value): 检查是否有不合法的字符,返回布尔值。
// function checkCharThrowErrorStr(value): 检查是否有不合法的字符,直接抛出异常字符串。
// function checkCharThrowErrorObj(value): 检查是否有不合法的字符,直接抛出异常对象。 // function formatNumber(value,precision): 按精度格式化浮点数,也可将精度设为-1则只进行检查数据的合法性。
// function formatCurrency(value,precision): 按精度格式化货币,也可将精度设为-1则只进行检查数据的合法性。
// function changeCurrencyToBig(value): 将货币金额转换成中文大写。
// function formatDate(value,formatstring): 将11位的日期(比如YYYY-MM-DD)转化为8位的字符串(YYYYMMDD)。
// function unFormatDate(value,formatstring): 将标准化的日期(YYYYMMDD)格式化成指定字符分割的日期格式(比如YYYY-MM-DD)。 // function trim(value): 删除两端空格。
// function getMainPath(): 返回系统主页的完整路径。
// function getVirtualPath(): 返回虚拟目录的路径。
// function exitCurrentPage(): 关闭当前页面。
// function popWelcomeInfo: 右键欢迎信息。 // function OpenDivMask(): 打开遮挡层同时把下拉筐隐藏。
// function CloseDivMask(): 关闭遮挡层同时把下拉筐显示。
// function ChangeForeColor(): 改变事件源字体颜色。
// function HasHtmlTag(val) 判断内容中是否含有html标签
// function post_to_url(path, params, formName) 用于向指定页面提交数据,Sample:post_to_url(window.location.href,{'pwd':'111111', 'username':'admin'});
// function ShowMsg(Message,Title,LanType,OpenMask) 显示信息,函数会自动创建一个"p_msgbox"DIV,提示信息显示在里面
// function CloseMsg() 与ShowMsg配套,用于关闭提示层
// function MoveToCenter(box,width,height) 把Div移动到屏幕中央
// function GetUrlQuerystring(paras) js获取url参数方法
// function IsContainsChinese(value) 字符是否是中文、全角字符
// function IsForbiddenUrl(value,type) 是否是禁用Url
// function ToHalfCharacter(val) 全角转半角
// function isLegalName(str) 检查是否为合法字符
// function isCharCodeValid(code,arr) 单个检查char字符是否为合法字符
// function in_arr(arr,val) 查看val是否存在于arr数组中 // function onlyNum(event) 只允许输入数字(@param event:事件)
// function getId() 返回对象
// function posMouseToLast(text) 定位鼠标到文本框最后(@param text:文本框)
// function centerDialog(id) 弹层屏幕居中(@param id:弹层id[带#号])
// window.dialog = {} 自定义消息弹出框[alert、confirm]
// function getSubBytes(value, len) 根据文字的字数是否超限制,增加...(@param value:文本,@param len:截取字段长度)
// function htmlEncode(input) 编码文字(@param input:文字) // *********************************************************************************************** // // *********************************************************************************** //
// function getStrLength(value)
// -----------
// 功能:获取字符串实际长度
// 传入参数:
// value:要进行检查的数字
// 返回值:false: 超长 true:合法
// *********************************************************************************** //
function getStrLength(value){
var str,Num = 0;
for (var i=0;i<value.length;i++){
str = value.substring(i,i+1);
if (str<="~") //对双字节字特殊处理
Num+=1;
else
Num+=2;
}
return Num;
}
// *********************************************************************************** //
// function checkStrLen(value,maxLen)
// --------------
// 功能:检查字符串的长度,对于汉字作了处理
// 传入参数:
// value: 要进行检查的数字
// maxLen: 长度
// 传出结果: 返回是否合法 false: 超长 true:合法 // *********************************************************************************** //
function checkStrLength(value,maxLen){
var str,Num = 0;
for (var i=0;i<value.length;i++){
str = value.substring(i,i+1);
if (str<="~") //对双字节字特殊处理 Num+=1;
else
Num+=2; if (Num>maxLen)
return false;
}
return true;
}
// *********************************************************************************** //
// function checkEmail(value)
// --------------
// 功能:检查Email是否合法
// 传入参数:
// value: 要进行检查的Email地址
// 传出结果: 返回是否合法 false: 错误 true:合法 // *********************************************************************************** //
function checkEmail(s)
{
/*value = trim(value);
var emailexp = /^$|^[a-z][a-z_0-9\.]+@[a-z_0-9\.]+\.[a-z]+$/i;
return emailexp.test(value);*/ //changed by jeron 20090511
var flag=false;//标识是否是合法的Email
//var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
//var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/;
var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
flag=RegExp(reg).test(trim(s));
if(!flag){ return false;
}
/* var i = 1;
var len = s.length;
pos1 = s.indexOf("@");
pos2 = s.indexOf(".");
pos3 = s.lastIndexOf("@");
pos4 = s.lastIndexOf(".");
if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))
{
return false;
}
else
{
if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)|| ( pos1 != pos3 )|| ( pos4 < pos3 ) )
{
return false;
}
}
*/
return true;
} // *********************************************************************************** //
// function isVaildEmail()
// --------------
// 功能:检查Email是否合法(旧版网才检查邮件地址合法性)
// 传出结果:
// *********************************************************************************** //
//added by huanghui 使用了51job的email正则表达式
function isVaildEmail(s)
{
try{
if (s.length > 100)
{
// window.alert(errtip);
return false;
}
s = s.toLowerCase()
var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT|name|NAME)$";
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true;
} else {
//window.alert (errtip);
return false;
}
}catch(er){
throw er;
}
} function isVaildEmail_old(s)
{
var i = 1;
var len = s.length;
pos1 = s.indexOf("@");
pos2 = s.indexOf(".");
pos3 = s.lastIndexOf("@");
pos4 = s.lastIndexOf(".");
if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))
{
return false;
}
else
{
if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)|| ( pos1 != pos3 )|| ( pos4 < pos3 ) )
{
return false;
}
}
return true;
}
// *********************************************************************************** //
// function checkPhone(value)
// --------------
// 功能:检查电话号码是否合法
// 传入参数:
// value: 要进行检查的电话号码
// 传出结果: 返回是否合法 false: 错误 true:合法 // *********************************************************************************** //
function checkPhone(value)
{
value = trim(value);
var phoneexp = /^$|^[+0-9(][0-9\-\*()]+[0-9)]$/;
return phoneexp.test(value);
} // *********************************************************************************** //
// function checkPostalcode(value)
// --------------
// 功能:检查邮编是否合法
// 传入参数:
// value: 要进行检查的邮编
// 传出结果: 返回是否合法 false: 错误 true:合法 // *********************************************************************************** //
function checkPostalcode(value)
{
value = trim(value);
var phoneexp = /^$|^\d{6}$/;
return phoneexp.test(value);
} // *********************************************************************************** //
// function checkCharWithNoException(value)
// --------------
// 功能:检查是否有不合法的字符,返回布尔值
// 传入参数:
// value: 要进行检查的字符串
// 传出结果: 若有不合法字符抛出异常
// *********************************************************************************** //
function checkCharWithNoException(value)
{
var chars="_'%\*&\+#"+'"';
var regex = new RegExp("["+chars+"]");
if(regex.test(value))
return false;
return true;
} // *********************************************************************************** //
// function checkCharThrowErrorStr(value)
// --------------
// 功能:检查是否有不合法的字符,直接抛出异常信息字符串 // 传入参数:
// value: 要进行检查的字符串
// 传出结果: 若有不合法字符抛出提示字符串
// *********************************************************************************** //
function checkCharThrowErrorStr(value)
{
var chars="_'%\*&\+#"+'"';
var regex = new RegExp("["+chars+"]");
if(regex.test(value))
throw "不允许包含 "+chars+" 等特殊字符";
if (value.indexOf("--")>=0)
throw "不允许包含--字符";
return true;
}
// *********************************************************************************** //
// function checkCharThrowErrorStr(value)
// --------------
// 功能:检查是否有不合法的字符,直接抛出异常对象
// 传入参数: // value: 要进行检查的字符串 // 传出结果: 若有不合法字符抛出提示字符串
// *********************************************************************************** //
function checkCharThrowErrorObj(value)
{
var chars="_'%\*&\+#"+'"';
var regex = new RegExp("["+chars+"]");
if(regex.test(value))
throw new Error("不允许包含 "+chars+" 等特殊字符");
if (value.indexOf("--")>=0)
throw new Error("不允许包含--字符");
return true;
} // *********************************************************************************** //
// function formatNumber(value,precision)
// --------------
// 功能:按精度格式化浮点数,也可将精度设为-1则只进行检查数据的合法性
// 传入参数: value: 要进行检查的数字
// precision:精度数
// 传出结果: 格式化后的值
// *********************************************************************************** //
function formatNumber(value,precision)
{
var strErr;
var num;
var s_value,decimal_value;
var decimal_sect,interger_sect;
var strArrSect,strArr;
var defautValue;
if (precision>0)
{
defautValue="0.";
var i = 0;
while( i < precision)
{
defautValue =defautValue +"0";
i++;
}
}
else
{
defautValue = "0";
}
if(trim(value)=="") //数据为空时返回 value="0";
if (isNaN(value)) //数据非法时提示,并返回空串 {
strErr = "数据"+value+"非法!";
throw new Error(strErr);
return defautValue;
}
if (precision==-1) //只作检查时精度为-1
return Number(value);
try
{
s_value = value.toString()+".";
strArrSect = s_value.split("."); if(typeof(strArrSect[1])=='undefined')
{
strArrSect[1]=0;
}
integer_sect = strArrSect[0];
decimal_sect = "0."+strArrSect[1]; num = Math.pow(10,precision);
decimal_value = Math.round(decimal_sect*num)/num;
decimal_value = decimal_value.toString();
decimal_value = decimal_value+".";
strArr = decimal_value.split(".");
if(typeof(strArr[1])=='undefined')
{
strArr[1] = "";
}
while(strArr[1].length<precision)
{
strArr[1] = strArr[1]+"0"
}
if(precision!=0)
s_value = integer_sect+"."+strArr[1];
else
s_value = integer_sect;
return s_value; //成功时返回格式化后的值 }
catch(err)
{
throw new Error(err.description);
return value; //若失败则返回原值 }
}
// *********************************************************************************** //
// function formatCurrency(value,precision)
// --------------
// 功能:按精度格式化货币,也可将精度设为-1则只进行检查数据的合法性,
// 以货币的形式显示,如20,000,000.00
// 传入参数: value: 要进行检查的数字
// precision:精度数
// 传出结果: 格式化后的值
// *********************************************************************************** //
function formatCurrency(value,precision)
{
var strErr;
var num;
var f_value,s_value;
var strArr if(trim(value)=="") //数据为空时返回
return "";
if (isNaN(value)) //数据非法时提示,并返回空串 {
strErr = "数据"+value+"非法!";
throw new Error(strErr);
return "0";
}
if (precision==-1) //只作检查时精度为-1
return value;
try{
num = Math.pow(10,precision);
f_value = Math.round(value*num)/num;
s_value = f_value.toString();
s_value = s_value+".";
strArr = s_value.split(".");
if(typeof(strArr[1])=='undefined')
{
strArr[1] = strArr[1].toString();
strArr[1] = "";
}
while(strArr[1].length<precision)
{
strArr[1] = strArr[1]+"0"
}
var l = parseInt(strArr[0].length)%3 ;
s_value = strArr[0].substring(0,l);
var len= parseInt(parseInt(strArr[0].length)/3);
for(i=0; i<len ;i++)
{
if(l != 0)
{
s_value +=",";
}
s_value += strArr[0].substring(l,l+3);
l+=3;
}
if(precision!=0)
s_value = s_value+"."+strArr[1];
else
s_value = s_value;
return s_value; //成功时返回格式化后的值 }catch(err){
throw new Error(err.description);
return value; //若失败则返回原值 }
} // *********************************************************************************** //
// function changeCurrencyToBig(value)
// --------------
// 功能:将金额转换成中文大写
// 传入参数:
// value: 要进行转换的金额
// psType:转换方式 1:数字转换 0:人民币币转换
// 传出结果: 转换后的结果
// *********************************************************************************** //
function changeCurrencyToBig(value,psType)
{
var intFen,i;
var strArr,strCheck,strFen,strDW,strNum,strBig,strNow; if(trim(value)=="") //数据为空时返回"零"
return "零";
if (isNaN(value)) //数据非法时提示,并返回空串 {
strErr = "数据"+value+"非法!"
alert(strErr);
return "";
}
strCheck = value+".";
strArr = strCheck.split(".");
strCheck = strArr[0];
if(strCheck.length>12) //数据大于等于一万亿时提示无法处理 {
strErr = "数据"+value+"过大,无法处理!"
alert(strErr);
return "";
}
try
{
i = 0;
strBig = "";
intFen = value*100; //转换为以分为单位的数值 strFen = intFen.toString();
strArr = strFen.split(".");
strFen = strArr[0];
intFen = strFen.length; //获取长度
strArr = strFen.split(""); //将各个数值分解到数组内 while(intFen!=0) //分解并转换 {
i = i+1;
switch(i) //选择单位
{
case 1:strDW = "分";break;
case 2:strDW = "角";break;
case 3:strDW = "元";break;
case 4:strDW = "拾";break;
case 5:strDW = "佰";break;
case 6:strDW = "仟";break;
case 7:strDW = "万";break;
case 8:strDW = "拾";break;
case 9:strDW = "佰";break;
case 10:strDW = "仟";break;
case 11:strDW = "亿";break;
case 12:strDW = "拾";break;
case 13:strDW = "佰";break;
case 14:strDW = "仟";break;
}
switch (strArr[intFen-1]) //选择数字
{
case "1":strNum = "壹";break;
case "2":strNum = "贰";break;
case "3":strNum = "叁";break;
case "4":strNum = "肆";break;
case "5":strNum = "伍";break;
case "6":strNum = "陆";break;
case "7":strNum = "柒";break;
case "8":strNum = "捌";break;
case "9":strNum = "玖";break;
case "0":strNum = "零";break;
} //处理特殊情况
strNow = strBig.split("");
//分为零时的情况 if((i==1)&&(strArr[intFen-1]=="0"))
strBig = "整";
//角为零时的情况 else if((i==2)&&(strArr[intFen-1]=="0"))
{ //角分同时为零时的情况
if(strBig!="整")
strBig = "零"+strBig;
}
//元为零的情况
else if((i==3)&&(strArr[intFen-1]=="0"))
strBig = "元"+strBig;
//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零 else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
strBig = "零"+strBig;
//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过 else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
{}
//拾-仟中一位为零且其前一位是元且为零的情况时跨过
else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
{}
//当万为零时必须补上万字 else if((i==7)&&(strArr[intFen-1]=="0"))
strBig ="万"+strBig;
//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零 else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
strBig = "零"+strBig;
//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过 else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
{}
//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过 else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
{}
//万位为零且存在仟位和十万以上时,在万仟间补零
else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
//单独处理亿位
else if(i==11)
{
//亿位为零且万全为零存在仟位时,去掉万补为零 if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
strBig ="亿"+"零"+strBig.substring(1,strBig.length);
//亿位为零且万全为零不存在仟位时,去掉万 else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟"))
strBig ="亿"+strBig.substring(1,strBig.length);
//亿位不为零且万全为零存在仟位时,去掉万补为零
else if((strNow[0]=="万")&&(strNow[2]=="仟"))
strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);
//亿位不为零且万全为零不存在仟位时,去掉万
else if((strNow[0]=="万")&&(strNow[2]!="仟"))
strBig = strNum+strDW+strBig.substring(1,strBig.length);
//其他正常情况
else
strBig = strNum+strDW+strBig;
}
//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零 else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))
strBig = "零"+strBig;
//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过 else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))
{}
//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过 else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
{}
//亿位为零且不存在仟万位和十亿以上时去掉上次写入的零 else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
strBig = strNum+strDW+strBig.substring(1,strBig.length);
//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零
else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))
strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);
else
strBig = strNum+strDW+strBig;
strFen = strFen.substring(0,intFen-1);
intFen = strFen.length;
strArr = strFen.split("");
} //按货币转换,但是如果不需要货币则替换掉 if (psType == "1")
{
if ((strBig.indexOf("角")<0)&&(strBig.indexOf("分")<0))
strBig = strBig.replace("元","");
else
strBig = strBig.replace("元","点");
strBig = strBig.replace("整","");
strBig = strBig.replace("角","");
strBig = strBig.replace("分","");
}
return strBig;
}catch(err){
return ""; //若失败则返回原值 }
}
// *********************************************************************************** //
// function formatDate(value,modal)
// --------------
// 功能:将11位的日期转化为8位的字符串
// 传入参数:
// value: 要进行格式化的日期串(11位 YYYY-MM-DD...)
// modal: 输入格式号
// 1:YYYY-MM-DD
// 2:MM-DD-YYYY
// 3:DD-MM-YYYY
// 4:YYYY-DD-MM
// 传出结果: 格式化后的字符串(8位 YYYYMMDD)
// 完成日期: 2001年5月21日
// *********************************************************************************** //
function formatDate(value,modal)
{
var strYear,strMonth,strDay,strDate;
var strValue,intlong; if((trim(value)=="")||(trim(modal)=="")) //日期为空时返回 return "00000000";
strValue = value;
if(trim(modal)=="1") //处理1:YYYY-MM-DD的情况 {
strYear = strValue.substring(0,4);
strMonth = strValue.substring(5,7);
strDay = strValue.substring(8,10);
strDate = strYear+strMonth+strDay;
}
else if(trim(modal)=="2") //处理2:MM-DD-YYYY的情况 {
strYear = strValue.substring(6,10);
strMonth = strValue.substring(0,2);
strDay = strValue.substring(3,5);
strDate = strYear+strMonth+strDay;
}
else if(trim(modal)=="3") //处理3:DD-MM-YYYY的情况 {
strYear = strValue.substring(6,10);
strMonth = strValue.substring(3,5);
strDay = strValue.substring(0,2);
strDate = strYear+strMonth+strDay;
}
else if(trim(modal)=="4") //处理4:YYYY-DD-MM的情况 {
strYear = strValue.substring(0,4);
strMonth = strValue.substring(8,10);
strDay = strValue.substring(5,7);
strDate = strYear+strMonth+strDay;
}
else //若有其他情况则返回 {
strDate = "00000000";
}
intlong = strDate.length;
if ((intlong!=8)||(isNaN(strDate))) //日期非法时提示,并返回 {
strErr = "日期"+value+"转换时有错误!";
alert(strErr);
return "00000000";
}
return strDate;
} // *********************************************************************************** //
// function unFormatDate(value,formatstring)
// --------------
// 功能:将标准化的日期(YYYYMMDD)格式化成指定字符分割的日期格式(比如YYYY-MM-DD) // 传入参数: value: 要进行格式化的日期串(8位 YYYYMMDD) // formatstring:格式化方式(11位 年:YYYY,月:MM,日:DD) // 传出结果: 格式化后的字符串(YYYY/MM/DD...) // 完成日期: 2001年5月22日 // *********************************************************************************** //
function unFormatDate(value,formatstring)
{
var strDate,strDay,strMonth,strYear;
var strFirst,strSecond,strLast,strFGet;
var strErr,strMid1,strMid2;
var intlong; strDate = trim(value);
intlong = strDate.length;
if ((intlong!=8)||(isNaN(strDate))) //数据非法时提示,并返回空串 {
strErr = "日期"+strDate+"有错误!";
alert(strErr);
return "";
}
strYear = strDate.substring(0,4); //拆解字符串 strMonth = strDate.substring(4,6);
strDay = strDate.substring(6,8); strDate = trim(formatstring);
if(strDate=="") //字符串为空时默认“YYYY年MM月DD日”格式 {
strFGet = strYear+"年"+strMonth+"月"+strDay+"日";
return strFGet;
} strFirst = strDate.substring(0,1);
if(strFirst=="Y") //年在前的情况
{
strSecond = strDate.substring(5,6);
strLast = strDate.substring(8,9);
strMid1 = strDate.substring(4,5);
strMid2 = strDate.substring(7,8);
if(strMid1!=strMid2) //前后间隔不统一时默认“YYYY-MM-DD”格式 {
strFGet = strYear+"-"+strMonth+"-"+strDay;
return strFGet;
}
if((strSecond=="M")&&(strLast=="D")) //“YYYY#MM#DD”格式 {
strFGet = strYear+strMid1+strMonth+strMid1+strDay;
return strFGet;
}
else if((strSecond=="D")&&(strLast=="M")) //“YYYY#DD#MM”格式 {
strFGet = strYear+strMid1+strDay+strMid1+strMonth;
return strFGet;
}
else //有错误出现时默认“YYYY-MM-DD”格式 {
strFGet = strYear+"-"+strMonth+"-"+strDay;
return strFGet;
}
}
else if((strFirst=="M")||(strFirst=="D")) //年在后的情况
{
strSecond = strDate.substring(3,4);
strLast = strDate.substring(6,7);
strMid1 = strDate.substring(2,3);
strMid2 = strDate.substring(5,6);
if(strMid1!=strMid2) //前后间隔不统一时默认“MM-DD-YYYY”格式 {
strFGet = strMonth+"-"+strDay+"-"+strYear;
return strFGet;
}
if((strFirst=="M")&&(strSecond=="D")) //“MM-DD-YYYY”格式 {
strFGet = strMonth+strMid1+strDay+strMid1+strYear;
return strFGet;
}
else if((strFirst=="D")&&(strSecond=="M")) //“DD-MM-YYYY”格式 {
strFGet = strDay+strMid1+strMonth+strMid1+strYear;
return strFGet;
}
else //有错误出现时默认“MM-DD-YYYY”格式 {
strFGet = strMonth+"-"+strDay+"-"+strYear;
return strFGet;
}
}
else //有错误出现时默认“YYYY-MM-DD”格式 {
strFGet = strYear+"-"+strMonth+"-"+strDay;
return strFGet;
}
}
// **************************************************************** //
// function trim(value)
// --------------
// 功能:删除两端空格(= trim)
// 参数: value 要格式化的字符串
// 返回: 格式化后的字符串
// **************************************************************** //
function trim(value)
{
var res = String(value).replace(/^[\s]+|[\s]+$/g,'');
return res;
}
// *********************************************************************************** //
// function getMainPath()
// --------------
// 功能:返回系统主页的完整路径
// 传出结果: 系统主页的完整路径
// *********************************************************************************** //
function getMainPath()
{
return GetVirtualPath()+"MainLogin.aspx"; //返回主页
} // *********************************************************************************** //
// function getVirtualPath()
// --------------
// 功能:返回虚拟目录的路径,形如:"/drp/"
// 传出结果: 虚拟目录的路径
// *********************************************************************************** //
function getVirtualPath()
{
var p = window.location.pathname; //取当前页地址
if(p.substring(0,1)!="/")
p = "/"+p;
var str = p.replace(/^[/]\w*[/]/,""); //将虚拟目录从字符串中清除
return p.substring(0,p.length - str.length); //返回虚拟目录
} // *********************************************************************************** //
// function exitCurrentPage()
// --------------
// 功能:关闭当前页面
// 传出结果:
// *********************************************************************************** //
function exitCurrentPage()
{
window.returnValue = false;
window.opener = null;
window.close();
return false;
}
// *********************************************************************************** //
// function popWelcomeInfo 右键欢迎信息()
// --------------
// 功能:右键欢迎信息
// 传出结果:
// *********************************************************************************** //
function popWelcomeInfo()
{
var keyC = window.event.button;
if (keyC==2)
{
alert("提示信息!");
return false;
}
}
// *********************************************************************************** //
// function isDigit 检查输入是否全部为数字()
// --------------
// 功能:检查输入是否全部为数字 // 传出结果:
// *********************************************************************************** //
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
} // *********************************************************************************** //
// function OpenDivMask()
// --------------
// 功能:打开遮挡层同时把下拉筐隐藏
// 传出结果:
// *********************************************************************************** //
function OpenDivMask()
{
var divMask = document.getElementById("DivMask");
if(!divMask){
divMask = document.createElement("div");
divMask.id = "DivMask";
divMask.style.display = "block";
divMask.style.top = divMask.style.left = divMask.style.margin = divMask.style.padding = "0px";
var screenWidth;
var screenHeight;
if(document.body.scrollHeight<document.documentElement.offsetHeight){
screenHeight = document.documentElement.offsetHeight + "px";
}
else{
screenHeight = document.body.scrollHeight + "px";
}
if(document.body.scrollWidth<document.documentElement.offsetWidthh){
screenWidth = document.documentElement.offsetWidth + "px";
}
else{
screenWidth = document.body.scrollWidth + "px";
}
divMask.style.width = screenWidth;
divMask.style.height = screenHeight;
divMask.style.position = "absolute";
divMask.style.zIndex = "99";
divMask.style.background = "#D3D3D3";
divMask.style.filter = "alpha(opacity=50)";
divMask.style.opacity = 50/100;
divMask.style.MozOpacity = 50/100;
document.body.appendChild(divMask);
}else{
divMask.style.display = "block";
}
//屏蔽SELECT
var allselect = document.getElementsByTagName("select");
if (allselect != null && allselect.length > 0){
for (var i=0; i<allselect.length; i++){
allselect[i].style.visibility = "hidden";
}
}
}
// *********************************************************************************** //
// function OpenDivMask()
// --------------
// 功能:关闭遮挡层同时把下拉筐显示
// 传出结果:
// *********************************************************************************** //
function CloseDivMask()
{
var objDialog = document.getElementById("DivMask");
if (objDialog) objDialog.style.display = "none";
//屏蔽SELECT
var allselect = document.getElementsByTagName("select");
if (allselect != null && allselect.length > 0){
for (var i=0; i<allselect.length; i++){
allselect[i].style.visibility = "visible";
}
}
}
// *********************************************************************************** //
// function ChangeForeColor()
// --------------
// 功能:改变字体颜色
// 传出结果:
// *********************************************************************************** //
function ChangeForeColor(src,color){
src.style.color = color;
} ////////////////added by jeron 20090514
function gid(id)
{
return document.getElementById?document.getElementById(id):null;
}
function gname(name)
{
return document.getElementsByTagName?document.getElementsByTagName(name):new Array();
}
function Browser()
{
var ua, s, i;
this.isIE = false;
this.isNS = false;
this.isOP = false;
this.isSF = false;
ua = navigator.userAgent.toLowerCase();
s = "opera";
if ((i = ua.indexOf(s)) >= 0){this.isOP = true;return;}
s = "msie";
if ((i = ua.indexOf(s)) >= 0) {this.isIE = true;return;}
s = "netscape6/";
if ((i = ua.indexOf(s)) >= 0) {this.isNS = true;return;}
s = "gecko";
if ((i = ua.indexOf(s)) >= 0) {this.isNS = true;return;}
s = "safari";
if ((i = ua.indexOf(s)) >= 0) {this.isSF = true;return;}
}
function CloseDivMask( DIV)
{
var objdiv = document.getElementById(DIV);
if (objdiv) objdiv.style.display = "none";
var objDialog = document.getElementById("DivMask");
if (objDialog) objDialog.style.display = "none";
var allselect = gname("select");
for (var i=0; i<allselect.length; i++)
allselect[i].style.visibility = "visible";
}
function OpenDivMask()
{ var browser = new Browser();
var objScreen = gid("DivMask");
if(!objScreen)
var objScreen = document.createElement("div");
var oS = objScreen.style;
objScreen.id = "DivMask";
oS.display = "block";
oS.top = oS.left = oS.margin = oS.padding = "0px";
var wh;
var hg
if(document.body.scrollHeight<document.documentElement.offsetHeight)
{
hg = document.documentElement.offsetHeight + "px";
}
else
{
hg = document.body.scrollHeight + "px";
}
if(document.body.scrollWidth<document.documentElement.offsetWidthh)
{
wh = document.documentElement.offsetWidth + "px";
}
else
{
wh = document.body.scrollWidth + "px";
} oS.width = wh;
oS.height = hg;
oS.position = "absolute";
oS.zIndex = "99";
if ((!browser.isSF) && (!browser.isOP))
{
oS.background = "#D3D3D3";
}
else
{
oS.background = "#D3D3D3";
}
oS.filter = "alpha(opacity=50)";
oS.opacity = 50/100;
oS.MozOpacity = 50/100;
document.body.appendChild(objScreen);
var allselect = gname("select");
for (var i=0; i<allselect.length; i++)
{
//关键字二次排序遮蔽层时dropdownlist特殊处理
if (allselect[i].id.indexOf("Keyword1")<0 && allselect[i].id.indexOf("Keyword2")<0 && allselect[i].id.indexOf("Keyword3")<0)
{
allselect[i].style.visibility = "hidden";
}
}
}
function CloseDiv(DIV)
{
CloseDivMask(DIV);
}
//构造去掉空格函数
String.prototype.trim=function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
} //added by jeron 20090512
function showEmailError_one(objbtn,Msg){ var btn=objbtn;
var t=objbtn.offsetTop;
var l=objbtn.offsetLeft;
var h=objbtn.offsetHeight;
var w=objbtn.offsetWidth;
while(objbtn=objbtn.offsetParent)
{
t+=objbtn.offsetTop;
l+=objbtn.offsetLeft;
}
document.getElementById("EmailErrShow").style.visibility="";
document.getElementById("EmailErrShow").style.top=t +h+ "px"; //document.getElementById("EmailErrShow").style.left=l+w+"px";
document.getElementById("EmailErrShow").style.right=w+"px";
document.getElementById("EmailErrShow").style.display = "block";
//alert(Msg);
document.getElementById("LabelEmailError").innerHTML=Msg
OpenDivMask();
document.getElementById("EmailErrShow").focus();//added by jeron 20090720
} //added by jeron 20090519 中文信息中的Email验证*******
function showEmailError_oneC(objbtn,Msg){ var btn=objbtn;
var t=objbtn.offsetTop;
var l=objbtn.offsetLeft;
var h=objbtn.offsetHeight;
var w=objbtn.offsetWidth;
while(objbtn=objbtn.offsetParent)
{
t+=objbtn.offsetTop;
l+=objbtn.offsetLeft;
}
document.getElementById("EmailErrShowC").style.visibility="";
document.getElementById("EmailErrShowC").style.top=t +h+ "px"; document.getElementById("EmailErrShowC").style.left=l+"px";
document.getElementById("EmailErrShowC").style.display = "block"; document.getElementById("LabelEmailErrorC").innerHTML=Msg
OpenDivMask();
document.getElementById("EmailErrShowC").focus();//added by jeron 20090720 }
//added by jeron 20090519 英文信息中的Email验证*******
function showEmailError_oneE(objbtn,Msg){ var btn=objbtn;
var t=objbtn.offsetTop;
var l=objbtn.offsetLeft;
var h=objbtn.offsetHeight;
var w=objbtn.offsetWidth;
while(objbtn=objbtn.offsetParent)
{
t+=objbtn.offsetTop;
l+=objbtn.offsetLeft;
}
document.getElementById("EmailErrShowE").style.visibility="";
document.getElementById("EmailErrShowE").style.top=t +h+ "px"; document.getElementById("EmailErrShowE").style.left=l+"px";
document.getElementById("EmailErrShowE").style.display = "block"; document.getElementById("LabelEmailErrorE").innerHTML=Msg
OpenDivMask();
document.getElementById("EmailErrShowE").focus();//added by jeron 20090720 } //added by jeron 20090514
function chkEmail_one(objbtn)
{
//检查是否为空 var emailValue=objbtn.value.trim();//得到Email整个串(去掉了前后空格和中间空格) if(emailValue==""){
showEmailError_one(objbtn,C_MailAddess2);
return;
}
//if(emailValue.lastIndexOf(";")==(emailValue.length-1)){//以";"结尾
// emailValue=emailValue.substring(0,emailValue.length-1);
//} var flag=false;//标识是否是合法的Email //var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
//var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/;
var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
//循环判断Email数组各个Email的合法性 flag=RegExp(reg).test(emailValue.trim());
if(!flag){
showEmailError_one(objbtn,C_MailAddess2);
return;
}
} //added by jeron 20090519 中文信息中的Email验证*******
function chkEmail_oneC(objbtn)
{
var msg="";
if(objbtn.name=="txtEmailAddr1C"){
msg=emailMsgC1;
}else if(objbtn.name=="txtEmailAddr2C"){
msg=emailMsgC2;
}else if(objbtn.name=="txtEmailAddr3C"){
msg=emailMsgC3;
}else if(objbtn.name=="txtEmailC"){
msg="请输入有效的E-mail地址";
}
//检查是否为空
var emailValue=objbtn.value.trim();//得到Email整个串(去掉了前后空格和中间空格) if(emailValue==""){
//showEmailError_oneC(objbtn,msg);
return;
}
//if(emailValue.lastIndexOf(";")==(emailValue.length-1)){//以";"结尾
// emailValue=emailValue.substring(0,emailValue.length-1);
//} var flag=false;//标识是否是合法的Email //var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
//var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/;
var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
//循环判断Email数组各个Email的合法性 flag=RegExp(reg).test(emailValue.trim());
if(!flag){
//alert("请输入有效的E-mail地址!"); showEmailError_oneC(objbtn,msg);
return;
}
} //added by jeron 20090519 英文信息中的Email验证*******
function chkEmail_oneE(objbtn)
{
var msg="";
if(objbtn.name=="txtEmailAddr1E"){
msg=emailMsgE1;
}else if(objbtn.name=="txtEmailAddr2E"){
msg=emailMsgE2;
}else if(objbtn.name=="txtEmailAddr3E"){
msg=emailMsgE3;
}else if(objbtn.name=="txtEmailE"){
msg="Please input right E-mail!";
} //检查是否为空 var emailValue=objbtn.value.trim();//得到Email整个串(去掉了前后空格和中间空格) if(emailValue==""){
//showEmailError_oneE(objbtn,msg);
return;
}
var flag=false;//标识是否是合法的Email var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
//循环判断Email数组各个Email的合法性 flag=RegExp(reg).test(emailValue.trim());
if(!flag){
//alert("请输入有效的E-mail地址!"); showEmailError_oneE(objbtn,msg);
return;
}
}
//判断内容中是否含有html标签 added by linsendu 20110526
function HasHtmlTag(val)
{
return /<[a-zA-Z!]/g.test(val);
} //Sample:post_to_url(window.location.href,{'pwd':'111111', 'username':'admin'});
function post_to_url(path, params, formName) {
//如果没有特别声明,自动创建一个
var form;
if (formName == null)
form = document.createElement("form");
else
form = document.getElementById(formName); form.setAttribute("method", "post");
form.setAttribute("action", path); for(var key in params) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField);
} document.body.appendChild(form);
form.submit();
} function CloseMsg(OpenMask)
{
var msgBox = document.getElementById('p_msgbox');
if (msgBox != null) msgBox.style.display = "none";
if (OpenMask != null) CloseDivMask();
} function ShowMsg(Message,Title,LanType,OpenMask)
{
var closeTitle = "关闭";
var okText = "确 认";
if (LanType.toLowerCase()=="en-us")
{
closeTitle = "Close";
okText = "Confirm";
}
var msgBox = document.getElementById('p_msgbox');
if (msgBox == null){
var boarddiv = "<div style='z-index: 501; position: absolute;width: 250px;' id ='p_msgbox'></div>";
$(document.body).append(boarddiv);
msgBox = document.getElementById('p_msgbox');
}
var html = "<table cellpadding='0' cellspacing='0' class='inbox_table3'>";
html +="<tr><td class='inbox_td23'><p class='inbox_p4'>" + Title + "</p><p class='inbox_p5'><img alt='"+closeTitle+"' src='http://img01.51jobcdn.com/imehire/ehire2007/default/image/inbox/layerClose.gif' onclick=\"CloseMsg("+OpenMask+")\" style='vertical-align: middle;cursor: pointer;' /></p></td></tr>";
html +="<tr><td style='padding: 10px;' align='center'>" + Message + "</td></tr>";
html +="<tr><td style='background-image: url(http://img01.51jobcdn.com/imehire/ehire2007/default/image/inbox/dot_line_gray.gif); width: 100%;height: 2px;'></td></tr>";
html +="<tr><td style='height: 30px; vertical-align: middle; text-align: center;'><input id='btnWarnOk' type='button' class='inbox_btnimg2' title='"+okText+"' value='"+okText+"' onclick=\"CloseMsg("+OpenMask+")\" /></td></tr>";
html +="</table>";
msgBox.innerHTML = html;
msgBox.style.display = ""; // 层窗口居中显示
MoveToCenter(msgBox); // 打开遮罩层
if (OpenMask)
OpenDivMask();
} // 获取窗口及浏览器的宽度和高度
pageWidthHeight=function(){
return{
scrollTop:function(){return document.body.scrollTop||document.documentElement.scrollTop},
width:function(){return self.innerWidth||(document.documentElement.clientWidth||document.body.clientWidth)},
height:function(){return self.innerHeight||(document.documentElement.clientHeight||document.body.clientHeight)},
pageHeight:function(){
var d=document, b=d.body, e=d.documentElement;
return Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight))
},
pageWidth:function(){
var d=document, b=d.body, e=d.documentElement;
return Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth))
}
}
}(); function MoveToCenter(box,width,height){
var cw=pageWidthHeight.width();
var ch=pageWidthHeight.height();
var sh=pageWidthHeight.scrollTop();
var sl=document.documentElement.scrollLeft;
var boxw=(box.offsetWidth||500);
if(parseInt(width)>0){
boxw=width>=500?500:width;
}
var boxh=(box.offsetHeight||230);
if(parseInt(height)>0){
boxh=height>=230?230:height;
}
box.style.left='50%';
box.style.top=(parseInt(ch)/2+sh)+'px';
box.style.marginTop=-(parseInt(boxh)/2)+'px';
box.style.marginLeft=-(parseInt(boxw)/2)+'px';
}
//js获取url参数方法
function GetUrlQuerystring(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
} // *********************************************************************************** //
// function IsContainsChinese(value)
// -----------
// 功能:字符是否是中文、全角字符
// 作者:peggy 20120830
// 传入参数:
// value:要进行检查的字符串
// 返回值:true: 包含中文/全角字符 false:不包含
// *********************************************************************************** //
function IsContainsChinese(value)
{
var ch, i;
for (i=0; i< value.length; i++){
ch = value.charCodeAt(i);
if(ch<0) ch = ch + 65536;
if(ch>255) return true;
} return false;
} // 禁用网址
var forbiddenurl_array = new Array();
//注意:网止全部小写
forbiddenurl_array[0] = 'zhaopin.com';
forbiddenurl_array[1] = 'chinahr.com';
forbiddenurl_array[2] = 'cjol.com';
forbiddenurl_array[3] = '58.com';
forbiddenurl_array[4] = 'ganji.com';
forbiddenurl_array[5] = 'dajie.com';
forbiddenurl_array[6] = 'baijob.com';
forbiddenurl_array[7] = '104china.com';
forbiddenurl_array[8] = 'hirede.com';
//forbiddenurl_array[9] = 'yingjiesheng.com';//modify by linsen.du 20140929 removeit
forbiddenurl_array[9] = 'ganji.cn';
forbiddenurl_array[10] = 'jobcn.com';
forbiddenurl_array[11] = 'job168.com';
forbiddenurl_array[12] = 'job001.cn';
forbiddenurl_array[13] = 'an9.com';
forbiddenurl_array[14] = 'zhaopin.cn';
forbiddenurl_array[15] = 'chinahr.cn'; // *********************************************************************************** //
// function IsForbiddenUrl(value,type)
// -----------
// 功能:是否是禁用Url
// 作者:peggy 20120830
// 传入参数:
// value:要进行检查的字符串
// type:验证类型 url--网址;email--邮箱
// 返回值:true: 禁用网址 false:非禁用网址
// *********************************************************************************** //
function IsForbiddenUrl(value,type)
{
var val = trim(value); // 去2边空格
val = ToHalfCharacter(val); // 全角转半角
val = val.toLowerCase(); // 全转小写
if(type.toLowerCase() == "url")
{
// 判断前缀
if(val.indexOf('www.') == -1)
{
if(val.indexOf('http') == -1)
{
val = "http://"+val;
}
}
// 判断网址是否禁用
for(var i = 0; i < forbiddenurl_array.length; i++)
{
if(val.indexOf('.'+forbiddenurl_array[i]) > -1) return true;
if(val.indexOf('//'+forbiddenurl_array[i]) > -1) return true;
}
}
else if(type.toLowerCase() == "email")
{
var pos = val.indexOf('@');
if(pos > -1)
{
val= val.substr(pos).toLowerCase();
}
for(var i = 0; i < forbiddenurl_array.length; i++)
{
if(val.indexOf('@'+forbiddenurl_array[i]) > -1) return true;
if(val.indexOf('.'+forbiddenurl_array[i]) > -1) return true;
}
}
return false;
} // *********************************************************************************** //
// function ToHalfCharacter(val)
// -----------
// 功能:全角转半角
// 作者:peggy 20120830
// 传入参数:
// value:要进行检查的字符串
// 返回值:转换后字符串
// *********************************************************************************** //
function ToHalfCharacter(val){ var result="";
for (var i = 0; i < val.length; i++){
if (val.charCodeAt(i)==12288){
result+= String.fromCharCode(val.charCodeAt(i)-12256);
continue;
}
if (val.charCodeAt(i)>65280 && val.charCodeAt(i)<65375) result+= String.fromCharCode(val.charCodeAt(i)-65248);
else result+= String.fromCharCode(val.charCodeAt(i));
}
return result;
}
// *********************************************************************************** //
// function isLegalName(str)
// -----------
// 功能:检查是否为合法字符
// 作者:Lisa Chen 2012-09-03
// 传入参数:str要检查的字符串
// 返回值:bool
// *********************************************************************************** //
function isLegalName(str)
{
var str_use_sign = " #&()+-./\\,: —,、:()_[]《》";
var arr_use_sign = new Array();
for(var i=0;i<str_use_sign.length;i++)
{
arr_use_sign[i] = str_use_sign.charCodeAt(i);
} for(var i=0;i<str.length;i++)
{
if( !isCharCodeValid(str.charCodeAt(i),arr_use_sign) ) return false;
}
return true;
} // *********************************************************************************** //
// function isCharCodeValid(code,arr)
// -----------
// 功能:单个检查char字符是否为合法字符
// 作者:Lisa Chen 2012-09-03
// 传入参数:code单个char字符,合法的特殊字符数组
// 返回值:bool
// *********************************************************************************** //
function isCharCodeValid(code,arr)
{
//合法的字符
if(in_arr(arr,code)) return true;
//数字
if(code >= 48 && code <= 57) return true;
//大写字母
if(code >= 65 && code <= 90) return true;
//小写字母
if(code >= 97 && code <= 122) return true;
//中文 日文 韩文
if(code >= 12353 && code <= 65071) return true;
//日文片假名小写
if(code >= 65328 && code <= 65439) return true;
return false;
} // *********************************************************************************** //
// function in_arr(arr,val)
// -----------
// 功能:查看val是否存在于arr数组中
// 作者:Lisa Chen 2012-09-03
// 传入参数:arr数组,val单个需检测的值
// 返回值:bool
// *********************************************************************************** //
function in_arr(arr,val)
{
for(var i = 0; i < arr.length; i++)
{
if(arr[i] == val) return true;
}
return false;
}
/*字符串格式化方法 by huangpeng 20121127*/
String.prototype.format = function() {
var a = arguments;
return this.replace(/\{(\d+)\}/g,
function(e, f) {
return a[f];
});
}
/*只允许输入数字(@param event:事件) by huangpeng 20121127*/
function onlyNum(event) {
event = event || window.event;
if (!window.event) event.charCode == 35 || event.charCode == 45 || event.charCode == 0 || (event.charCode < 47 || event.charCode > 57) && event.preventDefault();
else if (! (event.keyCode == 35 || event.keyCode == 45)) if (event.keyCode < 47 || event.keyCode > 57) window.event.returnValue = !1;
}
/*返回对象 by huangpeng 20121127*/
function getId() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string') element = document.getElementById(element);
if (arguments.length == 1) return element;
elements.push(element);
}
return elements;
}
/*定位鼠标到文本框最后(@param text:文本框) by huangpeng 20121127*/
function posMouseToLast(text) {
if (text && (text = getId(text))) {
if (text.setSelectionRange) {
text.setSelectionRange(text.value.length, text.value.length);
text.focus();
} else {
text.createTextRange && (text = text.createTextRange(), text.collapse(!1), text.select());
}
}
}
/*弹层屏幕居中(@param id:弹层id[带#号]) by huangpeng 20121127*/
function centerDialog(id) {
if (id) {
var a = $("div.ui-dialog").has("{0}".format(id));
a.css({
top: (($(window).height() - a.outerHeight()) / 2) + $(window).scrollTop() + "px",
left: (($(window).width() - a.outerWidth()) / 2) + $(window).scrollLeft() + "px"
});
}
}
/*自定义消息弹出框[alert、confirm] by huangpeng 20121127*/
window.dialog = {
cancel: "取消",
id: 'dialogBox',
title: "消息",
sumbit: "确定",
isCenter: true,
/*警告弹出框(@param msg:提示信息,@param optIsAutoClose:是否自动关闭弹出层[2秒自动关闭][可选],@param optCallBack:回调函数[可选])*/
alert: function(msg, optIsAutoClose, optCallBack) {
var a = this.init(),
b = {};
b[this.sumbit] = function() {
$(this).dialog('close');
};
a.dialog('option', 'buttons', b);
a.dialog('option', 'close',
function() {
optCallBack && optCallBack();
});
a.html(msg).dialog('open');
optIsAutoClose && this.timeClose();
return !1;
},
/*关闭弹出框*/
close: function() {
$('#{0}'.format(this.id)).is(':visible') && $('#{0}'.format(this.id)).dialog('close');
this.t && clearTimeout(this.t);
},
/*确认弹出框(@param msg:提示信息,@param optCallBack:回调函数[可选])*/
confirm: function(msg, optCallBack) {
var a = this.init(),
b = {};
b[this.sumbit] = function() {
$(this).dialog('close');
optCallBack && optCallBack();
};
b[this.cancel] = function() {
$(this).dialog('close');
};
a.dialog('option', 'buttons', b);
a.dialog('option', 'close', null);
a.html(msg).dialog('open');
},
init: function() {
var a = $('#{0}'.format(this.id)),
style = this.isCenter ? "text-align:center;padding:35px 0 0 0;": "padding:35px;";
a.length == 0 && (a = $("<div id='{0}' style='" + style + "'></div>".format(this.id)).appendTo('body'), a.dialog({
title: this.title,
bgiframe: !0,
modal: !0,
autoOpen: !1,
draggable: !1,
resizable: !1,
width: 400,
resizable: !1
}));
return a;
},
/*2秒后关闭弹出框*/
timeClose: function() {
this.t = setTimeout(function() {
dialog.close()
},
2E3);
}
}
/*根据文本的字数是否超限制,增加...(@param value:文本,@param len:截取字段长度)*/
function getSubBytes(value, len) {
if (len && (getStrLength(value) > len)) {
len -= 2; // 长度减少2
for (var j = 0,
text = "",
i = 0; i < value.length; i++) {
value.charCodeAt(i) > 255 ? j += 2 : j++;
if (j > len) return "<span title='{0}'>{1}...</span>".format(value.replace(/'/g, "´"), htmlEncode(text));
text += value.charAt(i);
}
}
return htmlEncode(value);
}
/*编码文字(@param input:文字)*/
function htmlEncode(input) {
var div = document.createElement("div");
var text = document.createTextNode(input);
div.appendChild(text);
var output = div.innerHTML;
div = null;
return output;
} //获得当前页面大小
function getPageSize()
{
var winH;
if (window.innerHeight) {
winH = window.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight) {
winH = document.documentElement.clientHeight;
}
else if (document.body) {
winH = document.body.clientHeight;
};
return { WinH: winH };
}
//设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
function getPageScroll()
{
var y;
if (window.pageYOffset) {
y = window.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop) {
y = document.documentElement.scrollTop;
}
else if (document.body) {
y = document.body.scrollTop;
};
return { Y: y };
}
//获取元素到顶部body的距离
function getOffsetTop(el)
{
if(typeof(el)=="undefined")
{
return;
}
var t = el.offsetTop;
while (el = el.offsetParent) {
t += el.offsetTop;
};
return t;
}
//添加事件
function addEvent(el,type,fn)
{
if (window.addEventListener) {
el.addEventListener(type, fn, false);
}
else if (window.attachEvent) {
el.attachEvent('on' + type, fn);
}
else {
el['on' + type] = fn;
};
} //添加事件
function addEvent(el,type,fn)
{
if (window.addEventListener) {
el.addEventListener(type, fn, false);
}
else if (window.attachEvent) {
el.attachEvent('on' + type, fn);
}
else {
el['on' + type] = fn;
};
} /**
* 验证文件是否为图片
* @param {object} file[文件UI]
* @param {object|null} out[输出对象]
* @return boolean
*/
function checkIsImage(file, out) {
var IMAGE_EXT = 'BMP|GIF|JPG|JPEG|PNG',
fileName = trim(file.value);
out = out || {};
var lang = undefined == muti_language ? {}: muti_language;
if (0 === fileName.length) {
out.msg = lang.EMPTY_FILE;
return ! 1;
} var fileExtIndex = fileName.lastIndexOf('.');
if (fileExtIndex > -1) {
var extend = fileName.substring(fileExtIndex + 1).toUpperCase();
if (in_arr(IMAGE_EXT.split('|'), extend)) {
return ! 0;
}
} out.msg = lang.FILE_FORMAT_ERROR;
return ! 1;
}
一个js验证类的更多相关文章
- 一个JS定时器类
学习js,因为函数和定时器直接的关系是非绑定的.我不能说我开启一个定时,然后拿一个变量去记录这个setInterval的返回值,这样很麻烦. 本着面向对象的思想,利用业余时间(周末在家里)写了一个类, ...
- 我的第一个JS组件-跨浏览器JS调试工具
武汉九天鸟-p2p网贷系统开发-互联网应用软件开发 公司官网:http://jiutianniao.com 社交问答:http://ask.jiutianniao.com 最近,在看公司一个JS大牛 ...
- JS表单验证类HTML代码实例
以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...
- 一个重构的js分页类
// JavaScript Document /**//** * js分页类 * @param iAbsolute 每页显示记录数 * @param sTableId 分页表格属性ID值,为Strin ...
- 一个PHP常用表单验证类(基于正则)
一个基于正则表达式的PHP常用表单验证类,作者:欣然随风.这个表单判断类的功能有:验证是否为指定长度的字母/数字组合.验证是否为指定长度汉字.身 份证号码验证.是否是指定长度的数字.验证邮件地址.电话 ...
- 做一个牛XX的身份证号验证类(支持15位和18位)
原文:做一个牛XX的身份证号验证类(支持15位和18位) #region 是否合法的中国身份证号码 protected bool IsChineseID() { if (str.Length == 1 ...
- 非常不错的js 屏蔽类加验证类
1 >屏蔽功能类 1.1 屏蔽键盘所有键 <script language="javascript"><!--function document.onkey ...
- js 验证表单 js提交验证类
附加:js验证radio是否选择 <script language="javascript">function checkform(obj){for(i=0;i< ...
- SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码
在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...
随机推荐
- 返回顶部 和ico标题图片的制作
<link rel="shortcut icon" href="bitbug_favicon.ico">---比特虫ico网页快速制作<tit ...
- 第一章 Mysql 简介及安装和配置
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...
- 续Gulp使用入门三步压缩CSS
gulp 压缩css 一.安装 gulp-minify-css 模块 提示:你需要使用命令行的 cd 切换到对应目录后进行安装操作. 在命令行输入 npm install gulp-minify-cs ...
- poj 3159 Candies 差分约束
Candies Time Limit: 1500MS Memory Limit: 131072K Total Submissions: 22177 Accepted: 5936 Descrip ...
- 查看Ubuntu版本
一.查看Ubuntu版本号 方法一 root@wiki:~# cat /etc/issue Ubuntu 14.04.1 LTS \n \l 方法二 root@wiki:~# sudo lsb_rel ...
- Centos配置网卡
大家配置Centos5.5的网卡时,容易忽略的一项就是Linux启动时未启动网卡,其后果很明显,那就是你的Linux机器永远也没有IP地址,下面是一台线上服务器的配置:[root@localhost ...
- cri-o 创建非infra容器
1.// cri-o/server/container.go // CreateContainer creates a new container in specified PodSandbox fu ...
- POJ 1269 Intersecting Lines【判断直线相交】
题意:给两条直线,判断相交,重合或者平行 思路:判断重合可以用叉积,平行用斜率,其他情况即为相交. 求交点: 这里也用到叉积的原理.假设交点为p0(x0,y0).则有: (p1-p0)X(p2-p0) ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- canvas模仿微信抢红包功能
1.原理:先创建一张img图片,用filter滤镜制作毛玻璃效果. 2.利用绝对定位,使canvas刚好盖在img上面. 3.利用canvas原生clip函数剪辑一个圆形. 地址:http://san ...