/*******************************************************************************
* @author
* @date 2009-03-12
* @param objectId,strType,errorInfo
* @version 1.0
*
* 简单验证表单元素并提示错误信息需要jquery 基本包支持,引用页面需要有信息提示层 例如: var
* cerp_validator_divId="#cerp_validator_div"; 信息提示层的样式就是 #cerp_validator_div
*/
// 处理 和其他的包的冲突 $ 符号,需要用 jQuery 代替 $ 的写法
jQuery.noConflict();
// 信息提示层的 id 样式
//var cerp_validator_divId = "#cerp_validator_div";
var errorInfo_span= "#errorInfo_span";
// 要处理的元素 ID (已经拼装ID);
var elementId;
// 信息提示 相对 元素的偏移量
var xOffset = 60;
var yOffset = 30;
// 淡入 时间
var fadeInTime = 100;
// 淡出时间
var fadeOutTime = 1500;
/*
* 1.元素的id 2.元素类型(text,int,float,double,email) 3.如果错误显示的信息
*
* 第一个 参数必须, 第二个参数可以为空,默认为text 验证是否为空,第三个参数可以为空 默认为系统提示
*
*/
function Cerp_form_validator(objectId, strType, errorInfo) {
elementId = "#" + objectId; // 组装 对象 ID
var reg = /.+/; // 默认正则 不能为空
var info = "不能为空!";// 默认提示
if (strType == "int") {// 如果是 正整数
reg = /^[1-9]\d*$/;
info = "请输入正整数!";
} else if (strType == "-int") {// 如果是整数
reg = /^-?\\d+$/;
info = "请输入整数!";
} else if (strType == "float") {// 如果是正浮点型
reg = /^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
info = "请输入正浮点数!";
} else if (strType == "-float") {// 如果是浮点型
reg = /^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
info = "请输入浮点数!";
} else if (strType == "email") {// 验证 email 地址
reg = /^\w{3,}@\w+(\.\w+)+$/;
info = "请输入正确的Email格式!";
}
// 如果没有信息提示,则启用默认 提示
if (errorInfo == null || errorInfo == "")
errorInfo = info;
// 为元素 增加 失去光标 函数
jQuery(elementId).blur(function() {
// 获得要处理的元素值(去掉左右空格)
var objValue = jQuery.trim(jQuery(elementId).val());
if (objValue.match(reg) == null) {
jQuery(errorInfo_span).html(errorInfo);
jQuery(elementId).html("");
//jQuery(elementId).focus();
}
else
jQuery(errorInfo_span).html("");
/*
// 验证 正则表达式
if (objValue.match(reg) == null) {
// 获得 元素的 坐标
var offset = jQuery(elementId).offset();
// 定位显示层的 位置
jQuery(cerp_validator_divId).css("top",
(offset.top + yOffset) + "px");
jQuery(cerp_validator_divId).css("left",
(offset.left + xOffset) + "px");
// 显示信息提示
jQuery(cerp_validator_divId).html(errorInfo);
// 元素清空 元素获得光标
jQuery(elementId).val("");
jQuery(elementId).focus();
// 信息显示 淡入淡出
jQuery(cerp_validator_divId).fadeIn(fadeInTime, function() {
// 淡入后淡出
jQuery(cerp_validator_divId).fadeOut(fadeOutTime, 0);
});
}
*/
}
);
}