Слияние кода завершено, страница обновится автоматически
/****************************************************************
* 模块名称:ChkInputs.js(基于自定义属性的客户端统一验证JavaScript函数库组件)
* 当前版本:2.1.4
* 开发人员:楚涛
* 开发时间:2008-01-01
* 功 能:基于自定义属性的统一检测客户端输入之用的JavaScript函数库
可以验证输入框的内容必填、数据类型、字节长度及自定义校验和下拉框等
此函数库可用于支持JavaScript的各种浏览器的Web开发项目的使用
* 版本历史:
* 2009-01-20 添加对控件的分组校验功能
* 2009-02-10 添加对控件的除去不能为空的所有校验功能
* 2009-04-01 添加单击、Enter键盘键,未通过验证终止事件功能,
* 2010-05-02 添加可指定验证控件初始值、弹出消息的类型、支持自定义验证正则表达式功能、指定控件的初始值
* 2010-06-02 添加验证信息在页面静态文本的显示
* 2010-06-16 添加数据值型控件的可设置最大、最小值的限制
* 2010-06-26 添加对Firefox等的全面兼容
* 2010-08-01 添加对验证不通过的控件改变样式的功能
* 2010-10-10 添加对日期时间及当前日期时间的比较、身份证格式、组合值和指定控件的验证
* 2011-01-01 添加为所有验证控件订购失去焦点时的即时验证事件
* 2011-01-15 添加可设置显示类似谷歌/百度下拉选项菜单(弹出层div显示valuerange设置项)
* 2011-03-12 添加对复选框/单选框的验证
* 2011-04-16 将选择符$改为$$
* 2011-05-15 添加输入最小长度的判断
可使用【onmousedown(鼠标单击)并结合onkeydown(键盘键)】 或者 【OnClientClick事件】【onclick】等方式。示例如下:
<script language="javascript">function CheckAll(){verifyAll(return document.getElementById("form1"));}</script>
onmousedown="return CheckAll();" onkeydown="if(event.keyCode == 13){return CheckAll();}"
如:在asp.net下的 aspx 页面中直接使用OnClientClick="return CheckAll();"
在HTML控件中可直接使用 onclick="return CheckAll();"
*****************************************************************/
/****************************************************************
© 楚涛 2008-2011 lxchutao@163.com QQ:290363711 http://blog.csdn.net/chutao
*****************************************************************/
/****************************************************************
详细说明:
为每个需要进行数据校验的控件自定义了如下新属性,分别是:
1、chinese:表示该数据校验的控件的中文名称,同时标示待验证控件(必设属性,未设置的将直接跳过,不予验证),并在校验出错时显示所用。
2、maxsize:表示允许输入的最大长度,这个长度是以字节为单位计算的;
minsize:表示必须输入的最小长度,这个长度也是以字节为单位计算的。
3、nullable:表示输入值是否允许为空。为no时不允许为空。
4、datatype:表示输入值的数据类型。数据类型属性值用户可以根据需要自行扩展定义,
需要注意的是,对于每一个新的数据类型,均需要在下面代码中添加相应的校验函数,从而实现统一校验。
目前支持:
number : 正整数数字字符串
int :整数数字字符串(可正可负)(integer)
float : 浮点型数字字符串(可正可负)
alphanumeric : 只包含字母和数字的字符串
date : 日期类型(yyyy-MM-dd、yyyy/MM/dd)(comparecurrent:"1"小于当前日期,"2"大于当前日期,"3"小于等于当前日期,"4"大于等于当前日期)
datetime : 日期时间类型(yyyy-MM-dd HH:mm:ss、yyyy/MM/dd hh:mm:ss)(comparecurrent:"1"小于当前日期时间,"2"大于当前日期时间,"3"小于等于当前日期时间,"4"大于等于当前日期时间)
time : 时间类型(HH:mm:ss)(comparecurrent:"1"小于当前时间,"2"大于当前时间,"3"小于等于当前时间,"4"大于等于当前时间)
idcard : 中华人民共和国身份证号码
regular :自定义的验证正则表达式(regexpression验证正则表达式,notmatchinfo:验证不匹配的提示信息)(配合regular使用)
5、group: 表示分组验证的组别名称,属于哪一组(可选)
group1: 表示另类分组,补充group属性,可选,用于一个控件属于多个组时的验证
group2: 表示另类分组,补充group属性,可选,用于一个控件属于多个组时的验证
group3: 表示另类分组,补充group属性,可选,用于一个控件属于多个组时的验证
group4: 表示另类分组,补充group属性,可选,用于一个控件属于多个组时的验证
group5: 表示另类分组,补充group属性,可选,用于一个控件属于多个组时的验证
6、initialvalue: 设置控件的初始值
7、maxvalue、minvalue: 设置数值型控件的最大、最小值
notequalmax="true": 不等于最大值的标示,默认等于
notequalmin="true": 不等于最小值的标示,默认等于
8、notmatchclass:验证不通过控件的样式名称;若未设置该属性则控件样式保持不变
oldclassname:记录不匹配验证控件的原来的样式名称,配合notmatchclass使用
9、valuerange: 定义所包含的组合值,分隔符(m_split="|";如:"x|y|z";分割符可以修改,如m_split="┋"等)
notcheckvaluerange="true":指示不检查valuerange组合值,false或不设置:将检查
10、showmenu:设置显示下拉项菜单(弹出层div显示valuerange设置项),1:下拉选项菜单(可选择),2:下拉项菜单(不可选择);(可选)
chk_menuclass:弹出层div样式(showmenu有值时必选)
chk_menuclass_mouseover:弹出层div选项鼠标移在上面时的样式(showmenu有值时必选)
chk_menuclass_mouseout:弹出层div选项鼠标移出时的样式(showmenu有值时必选)
须配合valuerange使用
11、ischeckinstant:设置是否使用即时验证功能,"false"不使用,须手动设置;默认使用,不用设置
12、chkminselct:设置checkbox最少选择项(可选)
13、
/****************************************************************/
var m_msgType = 2;//提示信息类型(全局设置 1:弹出单个提示、2:弹出全部提示(默认推荐选项)、3:页面控件静态显示)
var m_MessageId = "MessageId";//m_msgType = 3 时用于页面控件静态显示验证信息的控件ID,该控件在页面必须存在否则找不到控件对象无法显示验证信息
var m_AttributeFlag = 0;//自定义属性是否区分大小写标示,默认0不区分大小写,1区分大小写
var m_TrimFlag = 0;//设置验证字符串长度是否包含两边空白部分,默认0不包含(即过滤两边空白),1包含(即不过滤两边空白)
var m_split = "|";//设置valuerange组合值的分隔符,默认"|";可以修改,如m_split="┋"等
var m_Alert_Mode = 0;//设置提示框(chkAlert)的模式,默认0:alert,
var m_msgAll = "";//产生的所有信息
var m_input = null;//记录第一个验证未通过的对象
var m_inputNames = new Array();//记录按Name验证的Input
var m_form;//保留
/* 初始化参数 */
function initAllParams()
{
m_msgAll = "";//产生的所有信息
m_input = null;
m_inputNames = new Array();
}
/* 检测指定FORM表单所有应被检测的元素(那些具有自定义属性的元素)是否合法,此函数用可于表单的onsubmit等事件 */
function verifyAll(myform)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllType1(myform);
else if(m_msgType == 3)return verifyAllType3(myform);
else return verifyAllType2(myform);
}
catch(e){return CancelClientEvent();}
}
/* 预处理订购所有控件的事件 */
function loadAllChkInputs(myform)
{
try
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i++)
{
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
/* 为所有验证控件订购失去焦点时的验证事件 */
detachEventHandler(myform.elements[i],"blur",verifyInputOnblur);
attachEventHandler(myform.elements[i],"blur",verifyInputOnblur);
/* 订购所有控件获得焦点时的事件 */
if(myform.elements[i].getAttribute("valuerange",m_AttributeFlag) != null)
{
if(myform.elements[i].getAttribute("showmenu",m_AttributeFlag)=="1")
{
detachEventHandler(myform.elements[i],"focus",showSelectMenuOnEvent);
attachEventHandler(myform.elements[i],"focus",showSelectMenuOnEvent);
}
else if(myform.elements[i].getAttribute("showmenu",m_AttributeFlag)=="2")
{
detachEventHandler(myform.elements[i],"focus",showDropMenuOnEvent);
attachEventHandler(myform.elements[i],"focus",showDropMenuOnEvent);
myform.elements[i].setAttribute("notcheckvaluerange", "true")
}
}
}
}
catch(e){}
}
/* $函数 */
window.$$ = function(id)
{
return document.getElementById(id);
};
/* 修改Object原型的方法来申明attachEvent的兼容方法 */
/*
Object.prototype.attachEvent = function(eventType,fnHandler)
{
if(!this[eventType]){
this[eventType]=fnHandler;
}
else{
this[eventType]=this[eventType].attach(fnHandler);
}
}
Function.prototype.attach=function(fnHandler){
var f=this;
return function(){
f();
fnHandler();
}
}
*/
/* attachEvent()兼容方法 */
function attachEventHandler(target, eventType, fnHandler) {
if (target.addEventListener) {
target.addEventListener(eventType, fnHandler, false);
} else if (target.attachEvent) {
target.attachEvent("on" + eventType, fnHandler);
} else {
target["on" + eventType] = fnHandler;
}
}
/* detachEvent()兼容方法 */
function detachEventHandler(target,eventType,fnHandler) {
if (target.removeEventListener)
target.removeEventListener(eventType,fnHandler,false);
else if (target.detachEvent)
target.detachEvent("on"+eventType,fnHandler);
else {
target["on" + sEventType]=null;
}
}
/* 检测指定FORM表单所有应被检测的元素(那些具有自定义属性的元素)是否合法,剔除不能为空的判断,此函数用可于表单的onsubmit等事件 */
function verifyAllExceptNullable(myform)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllExceptNullableType1(myform);
else if(m_msgType == 3)return verifyAllExceptNullableType3(myform);
else return verifyAllExceptNullableType2(myform);
}
catch(e){return CancelClientEvent();}
}
/* 分组验证 */
function verifyAllByGroup(myform,groupname)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllGroupType1(myform,groupname);
else if(m_msgType == 3)return verifyAllGroupType3(myform,groupname);
else return verifyAllGroupType2(myform,groupname);
}
catch(e){return CancelClientEvent();}
}
/* 可选分组验证,group分组的扩展,用于一个控件属于多个组时的验证 */
function verifyAllByGroup1(myform,groupname)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllGroup1Type1(myform,groupname);
else if(m_msgType == 3)return verifyAllGroup1Type3(myform,groupname);
else return verifyAllGroup1Type2(myform,groupname);
}
catch(e){return CancelClientEvent();}
}
/* 可选分组验证,group分组的扩展,用于一个控件属于多个组时的验证 */
function verifyAllByGroup2(myform,groupname)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllGroup2Type1(myform,groupname);
else if(m_msgType == 3)return verifyAllGroup2Type3(myform,groupname);
else return verifyAllGroup2Type2(myform,groupname);
}
catch(e){return CancelClientEvent();}
}
/* 可选分组验证,group分组的扩展,用于一个控件属于多个组时的验证 */
function verifyAllByGroup3(myform,groupname)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllGroup3Type1(myform,groupname);
else if(m_msgType == 3)return verifyAllGroup3Type3(myform,groupname);
else return verifyAllGroup3Type2(myform,groupname);
}
catch(e){return CancelClientEvent();}
}
/* 可选分组验证,group分组的扩展,用于一个控件属于多个组时的验证 */
function verifyAllByGroup4(myform,groupname)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllGroup4Type1(myform,groupname);
else if(m_msgType == 3)return verifyAllGroup4Type3(myform,groupname);
else return verifyAllGroup4Type2(myform,groupname);
}
catch(e){return CancelClientEvent();}
}
/* 可选分组验证,group分组的扩展,用于一个控件属于多个组时的验证 */
function verifyAllByGroup5(myform,groupname)
{
initAllParams();
try
{
if(m_msgType == 1)return verifyAllGroup5Type1(myform,groupname);
else if(m_msgType == 3)return verifyAllGroup5Type3(myform,groupname);
else return verifyAllGroup5Type2(myform,groupname);
}
catch(e){return CancelClientEvent();}
}
/* 为所有验证控件订购失去焦点时的验证事件 无返回值 */
function verifyAllOnblur(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i++)
{
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
//myform.elements[i].detachEvent("onblur",verifyInputOnblur);//未实现修改Object原型的方法来申明detachEvent的兼容方法
detachEventHandler(myform.elements[i],"blur",verifyInputOnblur);
//myform.elements[i].attachEvent("onblur",verifyInputOnblur);
attachEventHandler(myform.elements[i],"blur",verifyInputOnblur);
}
}
/* 验证控件失去焦点时的验证事件(仅用于verifyAllOnblur) 无返回值 */
function verifyInputOnblur()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
checkInputNoFocus(eventSource);
}
/* 订购所有控件获得焦点时的下拉选择事件 无返回值 */
function showAllSelectMenu(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i++)
{
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
if(myform.elements[i].getAttribute("valuerange",m_AttributeFlag) != null && myform.elements[i].getAttribute("showmenu",m_AttributeFlag)=="1")
{
detachEventHandler(myform.elements[i],"focus",showSelectMenuOnEvent);
attachEventHandler(myform.elements[i],"focus",showSelectMenuOnEvent);
}
}
}
/* 订购控件显示下拉选择项事件 无返回值 */
function showSelectMenuOnEvent()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
showSelectMenu(eventSource);
}
/* 订购显示指定控件下拉选择项菜单 */
function showSelectMenu(input)
{
var v_m_input_cursor=0;//事件源 0:光标移入 1:光标移出
var v_m_menu_cursor=1; //弹出层 0:光标移入 1:光标移出
var v_m_menu_id = "chk_new_select_menudiv_1";//下拉选项菜单id
var v_m_input_isSetnotcheckvaluerange = 0;//判断该控件是否设置了notcheckvaluerange的属性值,0未设置,1已设置
var v_m_input_Oldnotcheckvaluerange = "";//该控件所设置了notcheckvaluerange的属性值
if ($$(v_m_menu_id)) document.body.removeChild($$(v_m_menu_id));
if ($$(v_m_menu_id)) document.body.removeChild($$(v_m_menu_id));
//新弹出层
var newDiv = document.createElement("div");//document.createElement("iframe");//
newDiv.id = v_m_menu_id;
//newDiv.style.background = "#EFEFEF";
//newDiv.style.border = "1px solid #860001";
//newDiv.style.padding = "5px";
newDiv.className="chk_menuclass";
newDiv.style.position = "absolute";
newDiv.style.zIndex = 9999;
newDiv.style.overflow="auto";
//newDiv.style.filter = "alpha(opacity=40)";
//newDiv.style.opacity = "0.40";
newDiv.style.width = input.offsetWidth + "px";
// newDiv.style.top = input.offsetTop + input.offsetHeight + input.offsetParent.offsetTop + "px";
// newDiv.style.left = input.offsetLeft + input.offsetParent.offsetLeft + "px";
newDiv.style.top = input.offsetHeight + getChkInputTop(input) + "px";
newDiv.style.left = getChkInputLeft(input) + "px";
input.getAttribute("valuerange",m_AttributeFlag)
var arr = input.getAttribute("valuerange",m_AttributeFlag).split(m_split);
if(arr.length>25)
{
newDiv.style.height = 500 + "px";
}
for(var i=0;i<arr.length;i++)
{
var v_element=document.createElement("div");
v_element.innerHTML =arr[i];
if(input.value!=null && input.value!="" && input.value==arr[i])
{
v_element.style.fontWeight="bold";
}
else
{
v_element.style.fontWeight="";
}
//v_element.style.zIndex = 9999;
detachEventHandler(v_element,"mouseover",setSubDivMouseOver);
detachEventHandler(v_element,"mouseout",setSubDivMouseOut);
detachEventHandler(v_element,"mousedown",setSubDivClick);//click,mouseup
attachEventHandler(v_element,"mouseover",setSubDivMouseOver);
attachEventHandler(v_element,"mouseout",setSubDivMouseOut);
attachEventHandler(v_element,"mousedown",setSubDivClick);//click,mouseup
newDiv.appendChild(v_element);
}
detachEventHandler(newDiv,"mouseover",newDivSelectMouseMove);
//detachEventHandler(newDiv,"mouseout",newDivSelectMouseOut);
attachEventHandler(newDiv,"mouseover",newDivSelectMouseMove);
//attachEventHandler(newDiv,"mouseout",newDivSelectMouseOut);//关闭新图层
document.body.appendChild(newDiv);
detachEventHandler(input,"focus",input_onfocus);
detachEventHandler(input,"blur",input_onblur);
detachEventHandler(input,"keyup",input_onkeyup);
attachEventHandler(input,"focus",input_onfocus);
attachEventHandler(input,"blur",input_onblur);//关闭新图层
attachEventHandler(input,"keyup",input_onkeyup);
//下拉选项鼠标移上时的事件
function setSubDivMouseOver()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
eventSource.className="chk_menuclass_mouseover";
if(input.getAttribute("notcheckvaluerange",m_AttributeFlag)!=null)
{
v_m_input_isSetnotcheckvaluerange = 1;
v_m_input_Oldnotcheckvaluerange = input.getAttribute("notcheckvaluerange",m_AttributeFlag)
}
input.setAttribute("notcheckvaluerange", "true");
}
//下拉选项鼠标移上时的事件
function setSubDivMouseOut()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
eventSource.className="chk_menuclass_mouseout";
if(v_m_input_isSetnotcheckvaluerange = 1)
{
v_m_input_isSetnotcheckvaluerange = 0;
input.setAttribute("notcheckvaluerange", v_m_input_Oldnotcheckvaluerange);
}
else
{
input.removeAttribute("notcheckvaluerange");
}
}
//下拉选项点击时事件
function setSubDivClick()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
input.value=eventSource.innerHTML;
if(v_m_input_isSetnotcheckvaluerange = 1)
{
v_m_input_isSetnotcheckvaluerange = 0;
input.setAttribute("notcheckvaluerange", v_m_input_Oldnotcheckvaluerange);
}
else
{
input.removeAttribute("notcheckvaluerange");
}
if ($$(v_m_menu_id)) document.body.removeChild($$(v_m_menu_id));//关闭该div图层
}
function newDivSelectMouseMove(){v_m_menu_cursor=0;}
//关闭新图层
function newDivSelectMouseOut()
{
v_m_menu_cursor=1;
var v_id = $$(v_m_menu_id);
if(v_id && v_m_input_cursor != 0)
{
document.body.removeChild(v_id);
return false;
}
}
//关闭新图层
function input_onblur()
{
v_m_input_cursor = 1;
var v_id = $$(v_m_menu_id);
if(v_id && v_m_menu_cursor != 0)
{
document.body.removeChild(v_id);
return false;
}
}
function input_onfocus()
{
v_m_input_cursor = 0;
}
//字符动态过滤
function input_onkeyup()
{
if($$(v_m_menu_id))
{
var v_menu = $$(v_m_menu_id).childNodes;
if(v_menu)
{
for(var i=0;i<v_menu.length;i++)
{
var v_menuInnerHTML = v_menu[i].innerHTML.toUpperCase();
var v_inputValue = input.value.toUpperCase();
if(input.value!=null && input.value!="" && v_menuInnerHTML.indexOf(v_inputValue)==-1)
{
v_menu[i].style.display="none";
}
else
{
if(input.value!=null && input.value!="" && v_menuInnerHTML.indexOf(v_inputValue)!=-1)
{
v_menu[i].style.fontWeight="bold";
}
else
{
v_menu[i].style.fontWeight="";
}
v_menu[i].style.display="";
}
}
}
}
}
}
/* 订购所有控件获得焦点时的不可选择下拉项事件 无返回值 */
function showAllDropMenu(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i++)
{
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
if(myform.elements[i].getAttribute("valuerange",m_AttributeFlag) != null && myform.elements[i].getAttribute("showmenu",m_AttributeFlag)=="2")
{
detachEventHandler(myform.elements[i],"focus",showDropMenuOnEvent);
attachEventHandler(myform.elements[i],"focus",showDropMenuOnEvent);
myform.elements[i].setAttribute("notcheckvaluerange", "true")
}
}
}
/* 订购控件显示不可选择下拉选项事件 无返回值 */
function showDropMenuOnEvent()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
showDropMenu(eventSource);
}
/* 订购显示指定控件不可选择下拉项菜单 */
function showDropMenu(input)
{
var v_m_input_cursor=0;//事件源 0:光标移入 1:光标移出
var v_m_menu_cursor=1; //弹出层 0:光标移入 1:光标移出
var v_m_menu_id = "chk_new_drop_menudiv_2";//下拉选项菜单id
if ($$(v_m_menu_id)) document.body.removeChild($$(v_m_menu_id));
if ($$(v_m_menu_id)) document.body.removeChild($$(v_m_menu_id));
//新弹出层
var newDiv = document.createElement("div");
newDiv.id = v_m_menu_id;
//newDiv.style.background = "#EFEFEF";
//newDiv.style.border = "1px solid #860001";
//newDiv.style.padding = "5px";
newDiv.className="chk_menuclass";
newDiv.style.position = "absolute";
newDiv.style.zIndex = 9999;
newDiv.style.overflow="auto";
newDiv.style.width = input.offsetWidth+ "px";
// newDiv.style.top = input.offsetTop+input.offsetHeight;
// newDiv.style.left = input.offsetLeft;
newDiv.style.top = input.offsetHeight + getChkInputTop(input) + "px";
newDiv.style.left = getChkInputLeft(input) + "px";
input.getAttribute("valuerange",m_AttributeFlag)
var arr = input.getAttribute("valuerange",m_AttributeFlag).split(m_split);
if(arr.length>25)
{
newDiv.style.height = 500 + "px";
}
for(var i=0;i<arr.length;i++)
{
var v_element=document.createElement("div");
v_element.innerHTML =arr[i];
detachEventHandler(v_element,"mouseover",setDivMouseOver);
detachEventHandler(v_element,"mouseout",setDivMouseOut);
attachEventHandler(v_element,"mouseover",setDivMouseOver);
attachEventHandler(v_element,"mouseout",setDivMouseOut);
newDiv.appendChild(v_element);
}
detachEventHandler(newDiv,"mouseover",newDivOnMouseMove);
detachEventHandler(newDiv,"mouseout",newDivOnMouseOut);
attachEventHandler(newDiv,"mouseover",newDivOnMouseMove);
attachEventHandler(newDiv,"mouseout",newDivOnMouseOut);//关闭新图层
document.body.appendChild(newDiv);
detachEventHandler(input,"focus",input_onfocus);
detachEventHandler(input,"blur",input_onblur);
attachEventHandler(input,"focus",input_onfocus);
attachEventHandler(input,"blur",input_onblur);//关闭新图层
//下拉选项鼠标移上时的事件
function setDivMouseOver()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
eventSource.className="chk_menuclass_mouseover";
}
//下拉选项鼠标移出时的事件
function setDivMouseOut()
{
var event = arguments[0]||window.event;
var eventSource=event.srcElement||event.target;
eventSource.className="chk_menuclass_mouseout";
}
function newDivOnMouseMove(){v_m_menu_cursor=0;}
//关闭新图层
function newDivOnMouseOut()
{
v_m_menu_cursor=1;
var v_id = $$(v_m_menu_id);
if(v_id && v_m_input_cursor != 0)
{
document.body.removeChild(v_id);
return false;
}
}
//关闭新图层
function input_onblur()
{
v_m_input_cursor = 1;
var v_id = $$(v_m_menu_id);
if(v_id && v_m_menu_cursor != 0)
{
document.body.removeChild(v_id);
return false;
}
}
function input_onfocus()
{
v_m_input_cursor = 0;
}
}
/* 所有控件判断类型1的验证 */
function verifyAllType1(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
return true;
}
/* 所有控件判断类型2的验证 */
function verifyAllType2(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 所有控件判断类型3的验证 */
function verifyAllType3(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 剔除不能为空的所有控件判断类型1的验证 */
function verifyAllExceptNullableType1(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if (verifyInputExceptNullable(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
return true;
}
/* 剔除不能为空的所有控件判断类型2的验证 */
function verifyAllExceptNullableType2(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if (verifyInputExceptNullable(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 剔除不能为空的所有控件判断类型3的验证 */
function verifyAllExceptNullableType3(myform)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if (verifyInputExceptNullable(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 分组验证 类型1的验证 */
function verifyAllGroupType1(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
}
return true;
}
/* 分组验证 类型2的验证 */
function verifyAllGroupType2(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 分组验证 类型3的验证 */
function verifyAllGroupType3(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证1 类型1的验证 */
function verifyAllGroup1Type1(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group1",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
}
return true;
}
/* 可选分组验证2 类型2的验证 */
function verifyAllGroup1Type2(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group1",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证2 类型3的验证 */
function verifyAllGroup1Type3(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group1",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证2 类型1的验证 */
function verifyAllGroup2Type1(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group2",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
}
return true;
}
/* 可选分组验证2 类型2的验证 */
function verifyAllGroup2Type2(myform,groupname)
{
var i;
var length = myform.elements.length
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group2",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证2 类型3的验证 */
function verifyAllGroup2Type3(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group2",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证3 类型1的验证 */
function verifyAllGroup3Type1(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group3",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
}
return true;
}
/* 可选分组验证3 类型2的验证 */
function verifyAllGroup3Type2(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group3",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证3 类型3的验证 */
function verifyAllGroup3Type3(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group3",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证4 类型1的验证 */
function verifyAllGroup4Type1(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group4",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
}
return true;
}
/* 可选分组验证4 类型2的验证 */
function verifyAllGroup4Type2(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group4",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证4 类型3的验证 */
function verifyAllGroup4Type3(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group4",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证5 类型1的验证 */
function verifyAllGroup5Type1(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group5",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false)
{
focusInput(myform.elements[i]);
CancelClientEvent();
return false;
}
}
}
return true;
}
/* 可选分组验证5 类型2的验证 */
function verifyAllGroup5Type2(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group5",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
chkAlert(m_msgAll);
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 可选分组验证5 类型3的验证 */
function verifyAllGroup5Type3(myform,groupname)
{
var i;
var length = myform.elements.length;
for (i = 0;i < length; i ++)
{
/* 非自定义属性的元素即不验证的元素跳过不予处理 */
if (myform.elements[i].getAttribute("chinese",m_AttributeFlag) == null) continue;
clearNotMatchInputClass(myform.elements[i]);
/* 校验当前元素 */
if(myform.elements[i].getAttribute("group5",m_AttributeFlag) == groupname)
{
if (verifyInput(myform.elements[i]) == false && m_input == null)
{
m_input = myform.elements[i];
}
}
}
if(m_input != null)
{
showMsgInMessageId();
focusInput(m_input);
CancelClientEvent();
return false;
}
return true;
}
/* 检测指定文本框输入是否合法 */
function verifyInput(input)
{
if(input.type=="checkbox" || input.type=="radio")
{
var v_msg = verifyInputByName(input.name);
if(v_msg!=null && v_msg!="")
{
notMatchInputClass(input);
m_msgAll += v_msg + "\n";
if(m_msgType == 1)chkAlert(v_msg);
return false;
}
}
else
{
var v_initialValue = "";
if(input.getAttribute("initialvalue",m_AttributeFlag) != null )v_initialValue = input.getAttribute("initialvalue",m_AttributeFlag);
/* 非空校验 */
if (input.getAttribute("nullable",m_AttributeFlag) == "no" && (!isNull(checkTrim(input.value)) || checkTrim(input.value) == v_initialValue))
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "不能为空\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "不能为空");
return false;
}
/* 长度校验 */
if (input.getAttribute("maxsize",m_AttributeFlag) != null && strlen(checkTrim(input.value)) > parseInt(input.getAttribute("maxsize",m_AttributeFlag)))
{
notMatchInputClass(input);
/*m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "超出最大长度的 " + input.getAttribute("maxsize",m_AttributeFlag) + "个字节\n";*/
/*if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "超出最大长度的 " + input.getAttribute("maxsize",m_AttributeFlag) + "个字节");*/
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "内容太长,不应超过 " + input.getAttribute("maxsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("maxsize",m_AttributeFlag)) / 2 + " 个汉字的长度\n";
if (m_msgType == 1) chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "内容太长,不应超过 " + input.getAttribute("maxsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("maxsize",m_AttributeFlag)) / 2 + " 个汉字的长度");
return false;
}
if (input.getAttribute("minsize",m_AttributeFlag) != null && !(!isNull(checkTrim(input.value)) || checkTrim(input.value) == v_initialValue)
&& strlen(checkTrim(input.value)) < parseInt(input.getAttribute("minsize",m_AttributeFlag)))
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "内容太短,至少须 " + input.getAttribute("minsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("minsize",m_AttributeFlag)) / 2 + " 个汉字的长度\n";
if (m_msgType == 1) chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "内容太短,至少须 " + input.getAttribute("minsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("minsize",m_AttributeFlag)) / 2 + " 个汉字的长度");
return false;
}
if (isNull(checkTrim(input.value)) && checkTrim(input.value) != v_initialValue)
{
/* 数据类型校验 */
switch(input.getAttribute("datatype",m_AttributeFlag))
{
case "number":
if (isNumber(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该全为整数数字\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该全为整数数字");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "int":
if (isInt(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "integer":
if (isInt(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "float":
if (isFloat(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该全为数字\n"
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该全为数字");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "alphanumeric":
if (isAlphanumeric(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该为合法的包含字母和数字的字符串\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该为合法的包含字母和数字的字符串");
return false;
}
break;
case "idcard":
if (isIDCard(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的身份证号\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的身份证号");
return false;
}
break;
case "date":
if (isDate(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期格式\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期格式");
return false;
}
else
{
var v_temp_msg = verifyInputDateValue(input);
if(v_temp_msg != "")
{
notMatchInputClass(input);
m_msgAll += v_temp_msg + "\n";
if(m_msgType == 1)chkAlert(v_temp_msg);
return false;
}
}
break;
case "datetime":
if (isDateTime(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期时间格式\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期时间格式");
return false;
}
else
{
var v_temp_msg = verifyInputDateTimeValue(input);
if(v_temp_msg != "")
{
notMatchInputClass(input);
m_msgAll += v_temp_msg + "\n";
if(m_msgType == 1)chkAlert(v_temp_msg);
return false;
}
}
break;
case "time":
if (isTime(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的时间格式\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的时间格式");
return false;
}
else
{
var v_temp_msg = verifyInputTimeValue(input);
if(v_temp_msg != "")
{
notMatchInputClass(input);
m_msgAll += v_temp_msg + "\n";
if(m_msgType == 1)chkAlert(v_temp_msg);
return false;
}
}
break;
case "regular":
{
var reg = eval("/" + input.getAttribute("regexpression",m_AttributeFlag) + "/");
if(!reg.test(checkTrim(input.value)))
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + input.getAttribute("notmatchinfo",m_AttributeFlag) + "\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + input.getAttribute("notmatchinfo",m_AttributeFlag));
return false;
}
}
break;
/* 在这里可以添加多个自定义数据类型的校验判断 */
/* case datatype2: ... ; break; */
/* ....其他扩展数据类型写在这里........*/
/*default : break;*/
}
if (isValueRange(input)==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值不在合法的范围内\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值不在合法的范围内");
return false;
}
}
}
return true;
}
/* 检测指定文本框输入是否合法,并剔除不能为空的判断 */
function verifyInputExceptNullable(input)
{
var v_initialValue = "";
if(input.getAttribute("initialvalue",m_AttributeFlag) != null )v_initialValue = input.getAttribute("initialvalue",m_AttributeFlag);
/* 长度校验 */
if (input.getAttribute("maxsize",m_AttributeFlag) != null && strlen(checkTrim(input.value)) > parseInt(input.getAttribute("maxsize",m_AttributeFlag)))
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "内容太长,不应超过 " + input.getAttribute("maxsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("maxsize",m_AttributeFlag)) / 2 + " 个汉字的长度\n";
if (m_msgType == 1) chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "内容太长,不应超过 " + input.getAttribute("maxsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("maxsize",m_AttributeFlag)) / 2 + " 个汉字的长度");
return false;
}
if (input.getAttribute("minsize",m_AttributeFlag) != null && !(!isNull(checkTrim(input.value)) || checkTrim(input.value) == v_initialValue)
&& strlen(checkTrim(input.value)) < parseInt(input.getAttribute("minsize",m_AttributeFlag)))
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "内容太短,至少须 " + input.getAttribute("minsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("minsize",m_AttributeFlag)) / 2 + " 个汉字的长度\n";
if (m_msgType == 1) chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "内容太短,至少须 " + input.getAttribute("minsize",m_AttributeFlag) + " 个英文字符的长度或 " + parseInt(input.getAttribute("minsize",m_AttributeFlag)) / 2 + " 个汉字的长度");
return false;
}
if (isNull(checkTrim(input.value)) && checkTrim(input.value) != v_initialValue )
{
/* 数据类型校验 */
switch(input.getAttribute("datatype",m_AttributeFlag))
{
case "number":
if (isNumber(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该全为整数数字\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该全为整数数字");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "int":
if (isInt(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "integer":
if (isInt(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该为整数");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "float":
if (isFloat(checkTrim(input.value))==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值应该全为数字\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该全为数字");
return false;
}
else
{
var v_rangeMsg = verifyInputMaxMinValue(input);
if(v_rangeMsg != "")
{
notMatchInputClass(input);
m_msgAll += v_rangeMsg + "\n";
if(m_msgType == 1)chkAlert(v_rangeMsg);
return false;
}
}
break;
case "alphanumeric":
if (isAlphanumeric(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) += "值应该为合法的包含字母和数字的字符串\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值应该为合法的包含字母和数字的字符串");
return false;
}
break;
case "idcard":
if (isIDCard(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的身份证号\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的身份证号");
return false;
}
break;
case "date":
if (isDate(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期格式\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期格式");
return false;
}
else
{
var v_temp_msg = verifyInputDateValue(input);
if(v_temp_msg != "")
{
notMatchInputClass(input);
m_msgAll += v_temp_msg + "\n";
if(m_msgType == 1)chkAlert(v_temp_msg);
return false;
}
}
break;
case "datetime":
if (isDateTime(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期时间格式\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期时间格式");
return false;
}
else
{
var v_temp_msg = verifyInputDateTimeValue(input);
if(v_temp_msg != "")
{
notMatchInputClass(input);
m_msgAll += v_temp_msg + "\n";
if(m_msgType == 1)chkAlert(v_temp_msg);
return false;
}
}
break;
case "time":
if (isTime(checkTrim(input.value)) == false )
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的时间格式\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的时间格式");
return false;
}
else
{
var v_temp_msg = verifyInputTimeValue(input);
if(v_temp_msg != "")
{
notMatchInputClass(input);
m_msgAll += v_temp_msg + "\n";
if(m_msgType == 1)chkAlert(v_temp_msg);
return false;
}
}
break;
case "regular":
{
var reg = eval("/" + input.getAttribute("regexpression",m_AttributeFlag) + "/");
if(!reg.test(checkTrim(input.value)))
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + input.getAttribute("notmatchinfo",m_AttributeFlag) + "\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + input.getAttribute("notmatchinfo",m_AttributeFlag));
return false;
}
}
break;
/* 在这里可以添加多个自定义数据类型的校验判断 */
/* case datatype2: ... ; break; */
/* ....其他扩展数据类型写在这里........*/
/*default : break;*/
}
if (isValueRange(input)==false)
{
notMatchInputClass(input);
m_msgAll += input.getAttribute("chinese",m_AttributeFlag) + "值不在合法的范围内\n";
if(m_msgType == 1)chkAlert(input.getAttribute("chinese",m_AttributeFlag) + "值不在合法的范围内");
return false;
}
}
return true;
}
/* 通过name验证checkbox或radio的必选 */
function verifyInputByName(inputName)
{//设置信息以第一个设置为准,并记录name值,如果相同name以验证过则不予再验证
var v_msg = "";
for(var j=0;j<m_inputNames.length;j++)
{
if(m_inputNames[j]==inputName)return;
}
var v_name = document.getElementsByName(inputName);
var i=0,k=0;//k记录选择项
if(v_name[0].type=="checkbox" || v_name[0].type=="radio")
{
for (i = 0;i < v_name.length; i ++)
{
if(v_name[i].checked)k++;
}
if(v_name[0].getAttribute("chinese",m_AttributeFlag) != null
&& v_name[0].getAttribute("nullable",m_AttributeFlag) == "no")
{
if(k<1)
{
//验证不通过信息
v_msg = v_name[0].getAttribute("chinese",m_AttributeFlag) + "必须选择";
}
else
{
if(v_name[0].type=="checkbox")
{
if(k - v_name[0].getAttribute("chkminselct",m_AttributeFlag) < 0 )//chkminselct 最少选择项(checkbox)
{
//选项不够,验证不通过信息
v_msg = v_name[0].getAttribute("chinese",m_AttributeFlag) + "选择项不能少于 " + v_name[0].getAttribute("chkminselct",m_AttributeFlag) + " 项";
}
}
}
}
}
m_inputNames.push(inputName);
return v_msg;
}
/* 取得当前最近验证消息 */
function getVerifyMsg()
{
return m_msgAll;
}
/* 获取提示信息类型(1:单个提示、2:全部提示) */
function getMsgType()
{
return m_msgType;
}
/* 获取提示信息类型(1:单个提示、2:全部提示) */
function setMsgType(typeNO)
{
m_msgType = typeNO;
}
/* trim function in javascript */
function jtrim(str)
{
var tmpstr = new String(str);
var i, posh, post;
if (tmpstr==null)
{
tmpstr="";
}
for(i = 0; i < tmpstr.length; i++)
{
if(tmpstr.charAt(i) != ' ' && tmpstr.charAt(i) != '\t')
{
posh = i;
break;
}
}
for(i = tmpstr.length - 1; i >= 0; i--)
{
if(tmpstr.charAt(i) != ' ' && tmpstr.charAt(i) != '\t')
{
post = i;
break;
}
}
var newstr = str.substring(posh, post + 1);
return newstr;
}
/* 验证字符串长度是否包含两边空白部分,默认0不包含(即过滤两边空白),1包含(即不过滤两边空白) */
function checkTrim(str)
{
if(m_TrimFlag == 1)
return str;
else
return jtrim(str);
}
/* 是否整数字符的判断 true 是 false 否 */
function isInt(str)
{
var v_Value = parseInt(str,10);
var v_compare = 0;
if(v_Value > 0)
{
v_compare = Math.ceil(str) - v_Value;
}
else
{
v_compare = Math.floor(str) - v_Value;
}
if (Math.abs(v_Value) < new Number(Number.MAX_VALUE) && v_compare == 0)
{
return true;
}
return false;
}
/* 是否浮点型字符的判断 true 是 false 否 */
function isFloat(str)
{
var iChrCount;
var cTemp;
var bDot;
var iLen;
bDot = false;
iLen = str.length;
if (str.length < 1) return true;
for ( iChrCount = 0 ; iChrCount < str.length ; iChrCount ++ )
{
cTemp = str.charAt(iChrCount);
if (!(cTemp >= '0' && cTemp <= '9' ) && cTemp!='.' && cTemp != '-' && cTemp != '+')
{
return false;
}
if ( ( cTemp == '-' || cTemp == '+' ) && iChrCount > 0 )
{
return false;
}
/*判断小数点*/
if ( cTemp == '.')
{
switch ( iChrCount )
{
case 0: /*第一个和最后一个字符不能是小数点*/
return false;
break;
default:
if ( iChrCount == iLen - 1)
{ /*最后也不能是小数点*/
return false;
}
if ( bDot )
{ /*不能有两个小数点*/
return false;
}
else
{
bDot = true;
}
break;
}
}
}
return true;
}
/* 取得字符串的字节长度 */
function strlen(str)
{
//str = jtrim(str);//jtrim不包含两边空白部分,注释则包含
var i;
var len;
len = 0;
for (i = 0 ; i < str.length ; i ++)
{
if (str.charCodeAt(i) > 255) len += 2; else len ++;
}
return len;
}
/* 取得字符串的字节长度(不包含两边空白部分) */
function length(str)
{
str = jtrim(str);
return strlen(str);
}
/* 检测字符串是否为空,空为false 非空为true */
function isNull(str)
{
if (str.length < 1) return false;
return true;
}
/* 检测字符串是否全为数字 */
function isNumber(str)
{
if (str.length < 1) return true;
var number_chars = "1234567890";
var i;
for (i=0;i<str.length;i++)
{
if (number_chars.indexOf(str.charAt(i))==-1) return false;
}
return true;
}
/* 检测字符串是否是字母数字型的 */
function isAlphanumeric(str)
{
var pattern = /[a-zA-Z0-9]/;
if(pattern.test(str))
{
return true;
}
else
{
return false;
}
}
/* 检测字符串是否是正确的中华人民共和国身份证号格式 */
function isIDCard(str)
{
//var pattern = /\d{17}[\d|X]|\d{15}/;
var pattern = /^\d{17}(x|X)$|^\d{18}$|^\d{15}$/;
if(pattern.test(str))
{
return true;
}
else
{
return false;
}
}
/* 检测字符串是否是正确的日期格式 */
function isDate(str)
{
var pattern = /^(\d{1,4})(-|\/|.)(\d{1,2})\2(\d{1,2})$/;
if(pattern.test(str))
{
return true;
}
else
{
return false;
}
}
/* 检测字符串是否是正确的日期时间格式 */
function isDateTime(str)
{
var pattern = /^(\d{1,4})(-|\/|.)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
if(pattern.test(str))
{
return true;
}
else
{
return false;
}
}
/* 检测字符串是否是正确的时间格式 */
function isTime(str)
{
var pattern = /(\d{1,2}):(\d{1,2}):(\d{1,2})$/;
if(pattern.test(str))
{
return true;
}
else
{
return false;
}
}
/* 检测字符串是否在合法的范围内 */
function isValueRange(input)
{
if(input.getAttribute("valuerange",m_AttributeFlag) != null )
{
if(input.getAttribute("notcheckvaluerange",m_AttributeFlag) == "true")return true;
var arr = input.getAttribute("valuerange",m_AttributeFlag).split(m_split);
var v_value = checkTrim(input.value);
for(var i=0;i<arr.length;i++)
{
if(arr[i] == v_value)return true;
}
return false;
}
else
{
return true;
}
}
/* 检测数值控件的最大、最小值 */
function verifyInputMaxMinValue(input)
{
var v_msg = "";
var v_value = checkTrim(input.value);
if(input.getAttribute("maxvalue",m_AttributeFlag) != null && input.getAttribute("minvalue",m_AttributeFlag) != null)
{
if((v_value - input.getAttribute("maxvalue",m_AttributeFlag) >= 0 || v_value - input.getAttribute("minvalue",m_AttributeFlag) <=0) && "true" == input.getAttribute("notequalmax",m_AttributeFlag) && "true" == input.getAttribute("notequalmin",m_AttributeFlag))
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该在 (" + input.getAttribute("minvalue",m_AttributeFlag) + "," + input.getAttribute("maxvalue",m_AttributeFlag) + ") 之间";
else if((v_value - input.getAttribute("maxvalue",m_AttributeFlag) >= 0 || v_value - input.getAttribute("minvalue",m_AttributeFlag) <0) && "true" == input.getAttribute("notequalmax",m_AttributeFlag))
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该在 [" + input.getAttribute("minvalue",m_AttributeFlag) + "," + input.getAttribute("maxvalue",m_AttributeFlag) + ") 之间";
else if((v_value - input.getAttribute("maxvalue",m_AttributeFlag) > 0 || v_value - input.getAttribute("minvalue",m_AttributeFlag) <=0) && "true" == input.getAttribute("notequalmin",m_AttributeFlag))
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该在 (" + input.getAttribute("minvalue",m_AttributeFlag) + "," + input.getAttribute("maxvalue",m_AttributeFlag) + "] 之间";
else if(v_value - input.getAttribute("maxvalue",m_AttributeFlag) > 0 || v_value - input.getAttribute("minvalue",m_AttributeFlag) <0)
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该在 [" + input.getAttribute("minvalue",m_AttributeFlag) + "," + input.getAttribute("maxvalue",m_AttributeFlag) + "] 之间";
}
else if(input.getAttribute("maxvalue",m_AttributeFlag) != null)
{
if(v_value - input.getAttribute("maxvalue",m_AttributeFlag) >= 0 && "true" == input.getAttribute("notequalmax",m_AttributeFlag))
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值不应该大于等于 " + input.getAttribute("maxvalue",m_AttributeFlag);
else if(v_value - input.getAttribute("maxvalue",m_AttributeFlag) > 0)
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值不应该大于 " + input.getAttribute("maxvalue",m_AttributeFlag);
}
else if(input.getAttribute("minvalue",m_AttributeFlag) != null)
{
if(v_value - input.getAttribute("minvalue",m_AttributeFlag) <= 0 && "true" == input.getAttribute("notequalmin",m_AttributeFlag))
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值不应该小于等于 " + input.getAttribute("minvalue",m_AttributeFlag);
else if(v_value - input.getAttribute("minvalue",m_AttributeFlag) < 0)
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值不应该小于 " + input.getAttribute("minvalue",m_AttributeFlag);
}
else
{
v_msg = "";
}
return v_msg;
}
/* 检测日期控件的合法值 yyyy-MM-dd、yyyy/MM/dd*/
function verifyInputDateValue(input)
{
var v_msg = "";
var v_value = checkTrim(input.value);
if(input.getAttribute("comparecurrent",m_AttributeFlag) != null)
{
var v_compare = input.getAttribute("comparecurrent",m_AttributeFlag);
var v_current = new Date();
var arr = v_value.split("-");//length=3
if(!(arr.length>2))
{
arr = v_value.split("/");
if(!(arr.length>2))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期格式";
return v_msg;
}
}
var v_valuedate = new Date(arr[0],arr[1]-1,arr[2]);
if(v_compare == "1")
{
if(!(v_valuedate < v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该小于当前日期"
}
}
else if(v_compare == "2")
{
if(!(v_valuedate > v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该大于当前日期"
}
}
else if(v_compare == "3")
{
if(!(v_valuedate <= v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该小于等于当前日期"
}
}
else if(v_compare == "4")
{
if(!(v_valuedate >= v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该大于等于当前日期"
}
}
else
{
v_msg = "";
}
}
return v_msg;
}
/* 检测日期时间控件的合法值 yyyy-MM-dd hh:mm:ss、yyyy/MM/dd hh:mm:ss */
function verifyInputDateTimeValue(input)
{
try
{
var v_msg = "";
var v_value = checkTrim(input.value);
if(input.getAttribute("comparecurrent",m_AttributeFlag) != null)
{
var v_compare = input.getAttribute("comparecurrent",m_AttributeFlag);
var v_current = new Date();
var arr = v_value.split(" ");
var arr1 = arr[0];
var arr2 = arr[1].split(":");//length=3
var arr11 = arr1.split("-");//length=3
if(!(arr11.length>2))
{
arr11 = arr1.split("/");
if(!(arr11.length>2))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的日期时间格式";
return v_msg;
}
}
var v_valuedate = new Date(arr11[0],arr11[1]-1,arr11[2],arr2[0],arr2[1],arr2[2]);
if(v_compare == "1")
{
if(!(v_valuedate < v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该小于当前时间"
}
}
else if(v_compare == "2")
{
if(!(v_valuedate > v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该大于当前时间"
}
}
else if(v_compare == "3")
{
if(!(v_valuedate <= v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该小于等于当前时间"
}
}
else if(v_compare == "4")
{
if(!(v_valuedate >= v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该大于等于当前时间"
}
}
else
{
v_msg = "";
}
}
return v_msg;
}
catch(e){}
}
/* 检测时间控件的合法值 hh:mm:ss */
function verifyInputTimeValue(input)
{
try
{
var v_msg = "";
var v_value = checkTrim(input.value);
if(input.getAttribute("comparecurrent",m_AttributeFlag) != null)
{
var v_compare = input.getAttribute("comparecurrent",m_AttributeFlag);
var v_currentdate = new Date();
var v_current = v_currentdate.getHours()*3600 + v_currentdate.getMinutes()*60 + v_currentdate.getSeconds();
var arr = v_value.split(":");//length=3
if(!(arr.length>2))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "必须是正确的时间格式";
return v_msg;
}
var v_valuedate = arr[0]*3600 + arr[1]*60 + arr[2]*1;
if(v_compare == "1")
{
if(!(v_valuedate < v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该小于当前时间"
}
}
else if(v_compare == "2")
{
if(!(v_valuedate > v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该大于当前时间"
}
}
else if(v_compare == "3")
{
if(!(v_valuedate <= v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该小于等于当前时间"
}
}
else if(v_compare == "4")
{
if(!(v_valuedate >= v_current))
{
v_msg = input.getAttribute("chinese",m_AttributeFlag) + "值应该大于等于当前时间"
}
}
else
{
v_msg = "";
}
}
return v_msg;
}
catch(e){}
}
/* 验证结束后 */
function focusInput(input)
{
if(input.type == "text" || input.type=="textarea")
{
input.focus();
input.select();
}
else
{
input.focus();
}
}
/* 页面控件静态显示验证信息辅助方法 */
function showMsgInMessageId()
{
var v_msg = m_msgAll;
while(v_msg.search("\n")!=-1)v_msg=v_msg.replace("\n","<br>");
document.getElementById(m_MessageId).innerHTML = v_msg;
}
/* 页面控件验证不匹配控件的样式 */
function notMatchInputClass(input)
{
if(input.type=="checkbox" || input.type=="radio")
{
var v_name = document.getElementsByName(input.name);
for (var i = 0;i < v_name.length; i++)
{
if(v_name[i].getAttribute("notmatchclass",m_AttributeFlag) != null)
{
v_name[i].setAttribute("oldclassname", v_name[i].className,m_AttributeFlag);
v_name[i].className = v_name[i].getAttribute("notmatchclass",m_AttributeFlag);
}
}
}
else
{
if(input.getAttribute("notmatchclass",m_AttributeFlag) != null)
{
input.setAttribute("oldclassname", input.className);
input.className = input.getAttribute("notmatchclass",m_AttributeFlag);
}
}
}
/* 清除不匹配验证控件的显示样式 */
function clearNotMatchInputClass(input)
{
if(input.type=="checkbox" || input.type=="radio")
{
var v_name = document.getElementsByName(input.name);
for (var i = 0;i < v_name.length; i++)
{
if(v_name[i].getAttribute("notmatchclass",m_AttributeFlag) != null && v_name[i].getAttribute("notmatchclass",m_AttributeFlag) == v_name[i].className)
{
if(v_name[i].getAttribute("oldclassname",m_AttributeFlag) != null)
{
v_name[i].className = v_name[i].getAttribute("oldclassname");
}
else
{
v_name[i].className = "";
}
}
}
}
else
{
if(input.getAttribute("notmatchclass",m_AttributeFlag) != null && input.getAttribute("notmatchclass",m_AttributeFlag) == input.className)
{
if(input.getAttribute("oldclassname",m_AttributeFlag) != null)
{
input.className = input.getAttribute("oldclassname");
}
else
{
input.className = "";
}
}
}
}
/* 设置提示框的模式,考虑以后扩展 */
function chkAlert(msg)
{
if(m_Alert_Mode == "0")
{
alert(msg);
}
else
{
alert(msg);
}
}
/*客户端获取文件大小,返回值以字节为单位*/
function GetFileSize(filepath)
{
try
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var filesize = Math.round(fso.GetFile(filepath).Size);
return filesize; /*//chkAlert("文件大小为:" + filesize + "MB");*/
}
catch(e)
{
var err_no = e.number & 0xFFFF;
if(err_no==429)
{
chkAlert("浏览器设置受限,请按下面的步骤设置:" + "\n" + "1、控制面板 -> Internet选项 -> 安全 -> Internet -> 自定义级别 ->安全设置的 ActiveX 控件和插件 -> 对没有标记为安全的ActiveX 控件进行初始化和脚本运行 选中“启用”,并确定.\n2、控制面板 -> Internet选项 -> 安全 -> 本地 Intranet -> 自定义级别 ->安全设置的 ActiveX 控件和插件 -> 对没有标记为安全的ActiveX 控件进行初始化和脚本运行 选中“启用”,并确定. ");
}
}
}
/*终止客户端事件的继续执行*/
function CancelClientEvent()
{
/*//form1.onSubmit=false;//阻止表单Submit事件*/
if(window.event)
{
window.event.cancelBubble = true;
window.event.returnValue = false;
}
/*//else
//{
// event.stopPropagation();
// event.preventDefault();
//}
//m_form.submit=false;//阻止表单Submit事件*/
return false;
}
/* 指定验证输入框输入是否合法(单个弹出提示),不捕获焦点 */
function checkInputNoFocus(input)
{
clearNotMatchInputClass(input);
var v_msgtype=getMsgType();
setMsgType(1);//设置提示信息类型 1:单个弹出提示
if(input.getAttribute("ischeckinstant",m_AttributeFlag) != "false" )
{
if(!verifyInput(input))
{
setMsgType(v_msgtype);
return false;
}
}
setMsgType(v_msgtype);
return true;
}
/* 指定验证输入框输入是否合法(单个弹出提示),并剔除不能为空的判断,不捕获焦点 */
function checkInputExceptNullableNoFocus(input)
{
clearNotMatchInputClass(input);
var v_msgtype=getMsgType();
setMsgType(1);//设置提示信息类型 1:单个弹出提示
if(!verifyInputExceptNullable(input))
{
setMsgType(v_msgtype);
return false;
}
setMsgType(v_msgtype);
return true;
}
/* 指定验证输入框输入是否合法(单个弹出提示) */
function checkInput(input)
{
clearNotMatchInputClass(input);
var v_msgtype=getMsgType();
setMsgType(1);//设置提示信息类型 1:单个弹出提示
if(!verifyInput(input))
{
focusInput(input);
setMsgType(v_msgtype);
return false;
}
setMsgType(v_msgtype);
return true;
}
/* 指定验证输入框输入是否合法(单个弹出提示),并剔除不能为空的判断 */
function checkInputExceptNullable(input)
{
clearNotMatchInputClass(input);
var v_msgtype=getMsgType();
setMsgType(1);//设置提示信息类型 1:单个弹出提示
if(!verifyInputExceptNullable(input))
{
focusInput(input);
setMsgType(v_msgtype);
return false;
}
setMsgType(v_msgtype);
return true;
}
/* 获取验证控件顶端的相对位置 */
function getChkInputTop(input)
{
var v_temp = input.offsetTop;
var v_control = input.offsetParent;
while(v_control!=null)
{
v_temp = v_temp + v_control.offsetTop;
v_control = v_control.offsetParent;
}
return v_temp;
}
/* 获取验证控件左边的相对位置 */
function getChkInputLeft(input)
{
var v_temp = input.offsetLeft;
var v_control = input.offsetParent;
while(v_control!=null)
{
v_temp = v_temp + v_control.offsetLeft;
v_control = v_control.offsetParent;
}
return v_temp;
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )