/*************************************************************************
1) Copyright by OSS R&D Dept. of ZTEsoft,2004-04-27
File Name:helper.js
Create Date:2007-01-25
Author:lu.zhen
create Version:0.0.0.1
Version:0.0.0.1
Create Version Date:2007/01/25
Description:
Function Lists:
1、金额处理类
toFloatSum ---------- 以标准货币为单位,对数据库值,进行转化
toIntSum ---------- 界面上,以标准货币为单位的值,转化成数据库值
onblurAtTxtSum ---------- 金额输入框,失去焦点的校验函数
2、综合类
trim ---------- 去除对象值的前后空格
sizeOfString ----------- 返回字符串的字节数
checkTextIsEmpty ---------- 判断输入对象是否为空
checkStrNull ---------- 判断输入对象是否为空,提示信息并聚焦
nullToEmptyStr ---------- 对象为空转换为空串输出
copyObject ---------- 将传入的参数进行拷贝
checkRegExp ---------- 对值进行正则表达式校验
3、数字、字符类
checkInt() ----------- 整数校验
checkFloat() ----------- 浮点数校验
checkNumberAndChar ----------- 校验只允许输入字母和数字
addEndZero ----------- 增加小数点[保持小数点后,一定有几位小数,如 (1.00)]
formatFloat2 ----------- 对输入的参数进行格式化(包含两位小数点的浮点数)
deleteRadixPoint ----------- 去掉小数点
shrRadixPoint ----------- 左移N位小数点(输入必须是整数----新的开发模块不建议使用)
checkIpAddress ----------- 校验IP地址,是否合法
getFormattedBalance ----------- 将传的金额格式化为(欠费10.00,10.00)形式
calculateFloat ----------- 浮点数计算函数,用于解决运算精度问题.如果出错则返回 NaN。
checkDate(beginStr,endStr,checkBoxFrom,checkBoxTo,promote)用于判断日期前后是否合乎逻辑
4、时间类
formatDateStr ----------- 将传入的数据格式化为日期格式(YYYY-MM-DD HH:MI:SS)
getDateStrFromDateTimeStr ----------- 从后台返回的标准时间格式(YYYY-MM-DD HH:MI:SS)中,取日期YYYY-MM-DD
5、表单、控件类
Select_Init ----------- 将传入的数据加载显示到Select下拉框〔显示时有ID〕
Select_Init_No_Id ----------- 将传入的数据加载显示到Select下接框〔显示时无ID〕
Select_Init_No_Id_With_Blank_Row ----------- 将传入的数据加载显示到Select下拉框〔显示时有多余的空行〕
Select_Init_Comments ----------- 将传入的数据加载显示到Select下拉框〔具有comments属性〕
refreshIndepProperList ----------- 根据传入的xml值对产品属性动态控件进行刷新
removeNodeSelfAndChild ----------- 删除树的结点(包括子结点)
setControlStatusByCheckbox ----------- checkbox的onclick事件触发的同时,控制相应控件的可用性
nextCursor ----------- 界面控件输入回车后,能自动聚焦到下一个对象控件
focusTextEnd ----------- 光标,停在[文本编辑框/文本输入框]文字的最后,方便用户输入
selectText ----------- 将[文本编辑框/文本输入框]文字都选中,方便用户输入
gotoQuerySubmit ----------- 界面控件输入回车后,自动执行"Query"处理
7、浏览器类
openWindow ----------- 弹出窗口
*************************************************************************/
/*******************************************************************************
* 函数说明:将传入的字符串的前后空格去掉
*
* 函数要求:无 输入参数:
*
* str :传入的字符串
*
* 输出参数:去掉了前后空格的字符串
******************************************************************************/
function trim(str) {
if (str == null)
return "";
return str.replace(/(^\s*)|(\s*$)/g, "");
}
/*******************************************************************************
* 函数说明:返回字符串的字节数 函数要求:无 输入参数:
*
* str :传入的字符串
*
* 输出参数:字符串的字节数
******************************************************************************/
function sizeOfString(str) {
var strNew = "";
strNew = str.replace(/[\u0080-\u07FF]/g, "**");
strNew = strNew.replace(/[\u0800-\uFFFF]/g, "***");
strNew = strNew.replace(/[^\u0000-\uFFFF]/g, "****");
return strNew.length;
}
/*******************************************************************************
* 函数说明:判断输入对象是否为空
*
* 函数要求:无 输入参数:
*
* obj : 判断对象 输出参数: true : 为空 false : 不为空
*
******************************************************************************/
function checkTextIsEmpty(obj) {
var val = obj.value;
if (val.replace(/(^\s*)|(\s*$)/g, "") == "")
return false;
else
return true;
}
/*******************************************************************************
* 函数说明:判断输入对象是否为空
*
* 函数要求:无 输入参数:
*
* obj : 判断对象 promptInfo : 若为空的提示信息 输出参数:无
******************************************************************************/
function checkStrNull(obj, promptInfo) {
var val = obj.value;
if (obj.tagName == "PopEdit" && val == null) {
showMessage(promptInfo);
try {
obj.focus();
} catch (e) {
}
return false;
}
if (obj.tagName == "DateTimePicker" && val == "") {
showMessage(promptInfo);
try {
obj.focus();
} catch (e) {
}
return false;
}
if (obj.tagName == "INPUT" && val.replace(/(^\s*)|(\s*$)/g, "") == "") {
showMessage(promptInfo);
try {
obj.focus();
} catch (e) {
}
return false;
}
return true;
}
/*******************************************************************************
* 函数名称:nullToEmptyStr 函数功能:null转换为空串
*
* 输入参数:对象
*
* 输出参数:无
******************************************************************************/
function nullToEmptyStr(objVal) {
if (objVal == null || objVal == "undefined")
return "";
else
return objVal + "";
}
/*******************************************************************************
* 函数说明:将传入的参数进行拷贝
*
* 函数要求:
*
* 输入参数:
*
* objFrom:需要拷贝的输入参数 输出参数:
*
* objTo:输入值的备份
******************************************************************************/
function copyObject(objFrom) {
var objTo = null;
if (objFrom == null) {
return objTo;
}
switch (objFrom.typeName) {
case "number":
case "boolean":
case "string":
case "date":
objTo = objFrom;
break;
case "object":
objTo = new Object();
for ( var key in objFrom) {
objTo[key] = copyObject(objFrom[key]);
}
break;
case "array":
objTo = new Array();
for ( var i = 0; i < objFrom.length; i++) {
objTo[objTo.length] = copyObject