📄 checkimp.js
字号:
function checkValidate(CheckElement){
if(!CheckElement.dataType){
return;
}
var errMess = "";
sIfNull = CheckElement.dataType.substring(0,2);
sOther = CheckElement.dataType.substring(2,CheckElement.dataType.length);
var CheckdataType;
if(sIfNull=="非空"){
CheckdataType = sOther;
}
else{
CheckdataType = CheckElement.dataType;
}
if(CheckElement.value!=""){
if(CheckdataType == ""){
return;
}
switch(CheckdataType){
//可选属性:maxLength,minLength
case '字符串': errMess = checkString(CheckElement);break;
case '邮政编码': errMess = checkPost(CheckElement);break;
//可选属性:maxValue,minValue
case '数字': errMess = checkNumber(CheckElement);break;
//可选属性:maxValue,minValue
case '百分比': errMess = checkPercent(CheckElement);break;
//可选属性:maxValue,minValue
case '整数': errMess = checkInt(CheckElement);break;
//可选属性:maxValue,minValue
case '正整数': errMess = checkPlusInt(CheckElement);break;
//样式:2006-12-12
case '日期': errMess = checkDate(CheckElement);break;
//样式:2006-12
case '年月日期': errMess = checkYearMonth(CheckElement);break;
//样式:2006-12-12 12:00:00
case '时刻': errMess = checkDateTime(CheckElement);break;
//样式:2006-12-12 12:00
case '日期时分': errMess = checkDateMinute(CheckElement);break;
//样式:12:00
case '时分': errMess = checkMinute(CheckElement);break;
//样式:12:00:00
case '日期时间': errMess = checkTime(CheckElement);break;
//样式:192.168.0.1
case 'IP地址': errMess = checkIP(CheckElement);break;
case 'Email': errMess = checkEmail(CheckElement);break;
case '电话': errMess = checkPhone(CheckElement);break;
//样式:13000000000
case '手机': errMess = checkMobilephone(CheckElement);break;
//可选属性:maxValue,minValue
case '货币': errMess = checkCurrency(CheckElement);break;
case '下拉列表': errMess = checkSelect(CheckElement);break;
case '单选按钮': errMess = checkRadio(CheckElement);break;
//可选属性:maxSelect,minSelect
case '复选框': errMess = checkCheckbox(CheckElement);break;
//可选属性:fileType(如:"xml,doc,htm"),maxSize(如:"3")单位为M
case '文件选择': errMess = checkFileSelect(CheckElement);break;
default:alert('暂时不能识别:'+CheckElement.dataType+'的数据类型');
}
}
var eleErrMsg = CheckElement.nextSibling;
if(eleErrMsg && eleErrMsg.name == "ErrMsg" ){
if(errMess != "" ){
errMess = "<img src='../images/error_m.gif' valign='top'/> " + errMess;
}
eleErrMsg.innerHTML = "<br/>" + errMess;
}else{
var eleErrMsg = document.createElement("span");
eleErrMsg.name = "ErrMsg";
if(errMess != "" ){
errMess = "<img src='../images/error_m.gif' valign='top'/> " + errMess;
}
eleErrMsg.innerHTML = "<br/>" + errMess;
CheckElement.insertAdjacentElement('afterEnd', eleErrMsg);
}
return true;
}
function getLength(str){
return str.replace(/[^\x00-\xff]/g,"**").length;
}
function checkFileSelect(ele){
var matchFile=false;
matchFile = new RegExp("^.+\.(?=EXT)(EXT)$".replace(/EXT/g, ele.fileType.split(/\s*,\s*/).join("|")), "gi").test(ele.value);
if(matchFile==false){
return "文件类型应为:"+ele.fileType;
}
var fso = new ActiveXObject("Scripting.FileSystemObject");
fileName = fso.FileExists(ele.value);
if (!fileName){
return "文件'"+ele.value+"'不存在";
}
else if(ele.maxSize){
var f=fso.GetFile(ele.value);
var fileSize = new Number(f.size);
var maxSize = new Number(ele.maxSize);
if(fileSize>maxSize*1024*1024){
return "文件大小不能够超过"+ele.maxSize+"M";
}
}
return "";
}
function checkSelect(ele){
if(ele.value&&ele.value!=""){
return "";
}
return "请您选择"+ele.dispName;
}
function checkRadio(ele){
for(var i=0;i<document.getElementsByName(ele.name).length;i++){
if(document.getElementsByName(ele.name)[i].checked){
return "";
}
}
for(var i=1;i<document.getElementsByName(ele.name).length;i++){
if(document.getElementsByName(ele.name)[i].dataType){
document.getElementsByName(ele.name)[i].dataType="";
}
}
return "请您选择"+ele.dispName;
}
function checkCheckbox(ele){
var selectedNumber=0;
var minSelect =1;
var maxSelect =document.getElementsByName(ele.name).length;
for(var i=0;i<document.getElementsByName(ele.name).length;i++){
if(document.getElementsByName(ele.name)[i].checked){
selectedNumber++;
}
}
for(var i=1;i<document.getElementsByName(ele.name).length;i++){
if(document.getElementsByName(ele.name)[i].dataType){
document.getElementsByName(ele.name)[i].dataType="";
}
}
if(ele.maxSelect){
maxSelect = new Number(ele.maxSelect);
}
if(ele.minSelect){
minSelect = new Number(ele.minSelect);
}
if(selectedNumber>=minSelect&&selectedNumber<=maxSelect){
return "";
}
else if(ele.minSelect&&ele.maxSelect){
return "请您选择"+minSelect+"~"+maxSelect+"项";
}
else if(ele.minSelect){
return "请您选择"+minSelect+"条记录";
}
else if(ele.maxSelect){
return "请最多选择"+maxSelect+"项";
}
else{
return "请您选择"+minSelect+"~"+maxSelect+"项";
}
}
function alertRightDate(){
bCheckLock = false;
return("格式应为2000/12/21");
}
function checkDate(ele){
var ev = ele.value;
var evyear;
var evmonth;
var evdate;
var iindex;
if(ev.length<8){
return alertRightDate();
//ele.value="";
}
iindex = ev.indexOf("/")
if(iindex==-1){
return alertRightDate();
//ele.value="";
}
evyear = ev.substring(0,iindex);
if (evyear.length != 4){
return alertRightDate();
}
ev = ev.substring(iindex+1,ev.length);
iindex = ev.indexOf("/")
if(iindex==-1){
return alertRightDate();
//ele.value="";
}
evmonth = ev.substring(0,iindex);
if (evmonth.length >2){
return alertRightDate();
}
evdate = ev.substring(iindex+1,ev.length);
if (evdate.length >2){
return alertRightDate();
}
var ndate = evmonth+"/"+evdate+"/"+evyear;
var tdate = Date.parse(ndate);
var ddate = new Date(tdate);
if(isNaN(tdate)){
return alertRightDate();
}
if( (evyear!=ddate.getFullYear() )||(evmonth!=(ddate.getMonth()+1) )||(evdate!=ddate.getDate()) ){
return alertRightDate();
}
return "";
}
function checkYearMonth(ele){
var ev = ele.value;
var evyear;
var evmonth;
var iindex;
if(ev.length<6){
return alertRightYearMonthDate();
//ele.value="";
}
iindex = ev.indexOf("-")
if(iindex==-1){
return alertRightYearMonthDate();
//ele.value="";
}
evyear = ev.substring(0,iindex);
if (evyear.length != 4){
return alertRightYearMonthDate();
}
ev = ev.substring(iindex+1,ev.length);
evmonth = ev;
if (evmonth.length >2){
return alertRightYearMonthDate();
}
var ndate = evmonth+"/"+"01"+"/"+evyear;
var tdate = Date.parse(ndate);
var ddate = new Date(tdate);
if(isNaN(tdate)){
return alertRightYearMonthDate();
//ele.value="";
}
if( (evyear!=ddate.getFullYear() )||(evmonth!=(ddate.getMonth()+1))){
return alertRightYearMonthDate();
//ele.value="";
}
return "";
}
function alertRightYearMonthDate(){
bCheckLock = false;
return "格式:2003-6";
}
function alertDateTime(){
bCheckLock = false;
return "格式:2003-6-1 12:00:00";
}
function alertDateMinute(){
bCheckLock = false;
return "格式:2003-6-1 12:00";
}
function alertTime(){
bCheckLock = false;
return "格式:12:00:00";
}
/* 检查DateTime类型是否满足"yyyy-mm-dd MM-mm-ss"形式. */
function checkDateTime(ele){
var str = ele.value;
if (str.length < 14) {
return alertDateTime();
}
var iSpc = str.indexOf(" ");
if (iSpc == -1) {
return alertDateTime();
}
var ev = str.substring(0, iSpc);
var et = str.substring(iSpc + 1, str.length);
var idx;
var evyear, evmonth, evdate;
var hour, minute, second;
idx = ev.indexOf("-");
if (idx == -1) {
return alertDateTime();
}
evyear = ev.substring(0, idx);
if (evyear.length != 4) {
return alertDateTime();
}
ev = ev.substring(idx + 1, ev.length);
idx = ev.indexOf("-");
if (idx == -1) {
return alertDateTime();
}
evmonth = ev.substring(0,idx);
if (evmonth.length >2){
return alertDateTime();
}
evdate = ev.substring(idx+1,ev.length);
if (evdate.length >2){
return alertDateTime();
}
var ndate = evmonth + "/" + evdate + "/" + evyear;
var tdate = Date.parse(ndate);
var ddate = new Date(tdate);
if(isNaN(tdate)) {
return alertDateTime();
}
if ((evyear != ddate.getFullYear()) || (evmonth != (ddate.getMonth() + 1)) || (evdate != ddate.getDate())) {
return alertDateTime();
}
idx = et.indexOf(":");
if (idx == -1) {
return alertDateTime();
}
hour = et.substring(0, idx);
et = et.substring(idx + 1, et.length);
var hr = new Number(hour);
if (isNaN(hr)) {
return alertDateTime();
} else {
if (hr < 0 || hr > 24) {
return alertDateTime();
}
}
idx = et.indexOf(":");
if (idx == -1) {
return alertDateTime();
}
minute = et.substring(0, idx);
second = et.substring(idx + 1, et.length);
mint = new Number(minute);
sec = new Number(second);
if (isNaN(mint) || isNaN(sec)) {
return alertDateTime();
} else {
if (mint < 0 || mint > 59 || sec < 0 || sec > 59) {
return alertDateTime();
}
}
return "";
}
function checkTime(ele){
var str = ele.value;
if (str.length < 5) {
return alertTime();
}
if (str.length > 8) {
return alertTime();
}
var idx = str.indexOf(":");
if (idx == -1) {
return alertTime();
}
var hour = str.substring(0, idx);
if(hour=="") {
return alertTime();
}
var et = str.substring(idx + 1, str.length);
var hr = new Number(hour);
if (isNaN(hr)) {
return alertTime();
} else {
if (hr < 0 || hr > 23) {
return alertTime();
}
}
idx = et.indexOf(":");
if (idx == -1) {
return alertTime();
}
var minute = et.substring(0, idx);
if(minute=="") {
return alertTime();
}
var second = et.substring(idx + 1, et.length);
if(second=="") {
return alertTime();
}
var mint = new Number(minute);
var sec = new Number(second);
if (isNaN(mint) || isNaN(sec)) {
return alertTime();
} else {
if (mint < 0 || mint > 59 || sec < 0 || sec > 59) {
return alertTime();
}
}
return "";
}
function checkNumber(ele){
var elevalue = new Number(ele.value);
if(isNaN(elevalue)) {
bCheckLock = false;
return("只能输入数字");
}
ele.value=elevalue;
if(ele.maxValue) {
return(checkmaxValue(ele));
}
if(ele.minValue) {
return(checkminValue(ele));
}
return "";
}
function checkCurrency(ele){
var elevalue = new Number(ele.value);
if(isNaN(elevalue)) {
bCheckLock = false;
return("只能输入数字");
}
if(elevalue<0) {
bCheckLock = false;
return("不能输入负数");
}
var tempnum=elevalue;
if(ele.value.indexOf(".")>=0) {
var su=ele.value.indexOf(".");
var s=ele.value.substring(su+1);
if(s.length>2) {
var res="只能输入两位小数";
return(res);
}
else if (s.length == 1) {
ele.value=ele.value+"0";
}
else if(s.length==0){
ele.value=ele.value+"00";
}
}
else{
ele.value=tempnum+".00";
}
if(ele.maxValue){
var res = checkmaxValue(ele);
if(res != ""){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -