All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.xmlform.web.format.js Maven / Gradle / Ivy

/*
XMLForm Validator

Author: Liu Zhikun
http://javaxmlform.sourceforge.net/
*/
(function(global,factory){
	if (typeof module !== 'undefined' && typeof exports === 'object' && define.cmd) {
		module.exports = factory();
	} else if (typeof define === 'function' && define.amd) {
		define("xmlform/format",factory);
	} else {
		global.xmlformFormat = factory();
	}
})(typeof window!=="undefined" ? window:this,function(){
	
var formatObject={};
formatObject.formatFieldValue=function(field,value){
	var type=field.getType();
	if(formatObject.XmlformFieldFormats[type])
		return formatObject.XmlformFieldFormats[type](field,value);
	return value;
};
formatObject.XmlformFieldFormats={
	"datetime":function(field,value){
		return this.__xfdtfmt(11,field.getConfig().format,value);
	},
	"date":function(field,value){
		return this.__xfdtfmt(0,field.getConfig().format,value);
	},
	"time":function(field,value){
		return this.__xfdtfmt(0,field.getConfig().format,value);
	},
	"__xfdtOpt":{
		"y+":function(of,value){return value.substr(0,4);}, //Year 	Year 	1996; 96
		"M+":function(of,value){return value.substr(5,2)}, //Month in year 	Month 	July; Jul; 07
//		w 	Week in year 	Number 	27
//		W 	Week in month 	Number 	2
//		D 	Day in year 	Number 	189
		"d+":function(of,value){return value.substr(8,2)}, //Day in month 	Number 	10
//		F 	Day of week in month 	Number 	2
//		E 	Day in week 	Text 	Tuesday; Tue
//		a 	Am/pm marker 	Text 	PM
		"H+":function(of,value){return value.substr(of+0,2)},//Hour in day (0-23) 	Number 	0
//		k 	Hour in day (1-24) 	Number 	24
//		K 	Hour in am/pm (0-11) 	Number 	0
//		h 	Hour in am/pm (1-12) 	Number 	12
		"m+":function(of,value){return value.substr(of+3,2)},//Minute in hour 	Number 	30
		"s+":function(of,value){return value.substr(of+6,2)}//Second in minute 	Number 	55       
	},
	"__xfdtfmt":function(offset,format,value){
//			    var week = {
//			    "0" : "/u65e5",           
//			    "1" : "/u4e00",           
//			    "2" : "/u4e8c",           
//			    "3" : "/u4e09",           
//			    "4" : "/u56db",           
//			    "5" : "/u4e94",           
//			    "6" : "/u516d"          
//			    };
				var newv=format;
			    for(var k in this.__xfdtOpt){
			        if(new RegExp("("+ k +")").test(newv)){
			        	var v=this.__xfdtOpt[k](offset,value);
			        	if(k=="y+"){
			        		v=v.substr(v.length-RegExp.$1.length);
			        	}else if(RegExp.$1.length==1&&v.substr(0,1)=="0"){
			        		v=v.substr(v.length-1);
			        	}
			        	newv=newv.replace(RegExp.$1, v);
			        }      
			    }           
			    return newv;   
	}
};
return formatObject;
});




© 2015 - 2025 Weber Informatics LLC | Privacy Policy