src/browser/ui/validation.js
function($node,val){
					var valAsNumber = $node.prop('valueAsNumber');
					return !( (valAsNumber && (val=valAsNumber)) || ( /^-?[0-9]+(\.[0-9]*)?(E(-|\+)?[0-9]+)?$/i.test(val) && ((val=parseInt(val,10))!==NaN)))
						|| checkMinAndMax($node,val,function(v){ return parseInt(v,10); });
				}
function($node,val){
					var valAsNumber = $node.prop('valueAsNumber');
					return !( (valAsNumber && (val=valAsNumber)) || ( /^-?[0-9]+(\.[0-9]*)?(E(-|\+)?[0-9]+)?$/i.test(val) && ((val=parseInt(val,10))!==NaN)))
						|| checkMinAndMax($node,val,function(v){ return parseInt(v,10); });
				}
function ( $node , val ) { var valAsNumber = $node . prop ( 'valueAsNumber' ) ; return ! ( ( valAsNumber && ( val = valAsNumber ) ) || ( / ^-?[0-9]+(\.[0-9]*)?(E(-|\+)?[0-9]+)?$ / i . test ( val ) && ( ( val = parseInt ( val , 10 ) ) !== NaN ) ) ) || checkMinAndMax ( $node , val , function ( v ) { return parseInt ( v , 10 ) ; } ) ; }
http://www.w3.org/TR/html5/common-microsyntaxes.html#valid-week-string /*week:(function(){

})(), http://www.w3.org/TR/html5/common-microsyntaxes.html#real-numbers
http : // www . w3 . org / TR / html5 / common - microsyntaxes . html#valid - week - string / * week : ( function () {