in src/Foundation/Theming/code/scripts/autoNumeric.js [105:147]
function autoCode($this, settings) {
runCallbacks($this, settings);
settings.oEvent = null;
settings.tagList = ['b', 'caption', 'cite', 'code', 'dd', 'del', 'div', 'dfn', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ins', 'kdb', 'label', 'li', 'output', 'p', 'q', 's', 'sample', 'span', 'strong', 'td', 'th', 'u', 'var'];
var vmax = settings.vMax.toString().split('.'),
vmin = (!settings.vMin && settings.vMin !== 0) ? [] : settings.vMin.toString().split('.');
convertKeyToNumber(settings, 'vMax');
convertKeyToNumber(settings, 'vMin');
convertKeyToNumber(settings, 'mDec'); /** set mDec if not defined by user */
settings.mDec = (settings.mRound === 'CHF') ? '2' : settings.mDec;
settings.allowLeading = true;
settings.aNeg = settings.vMin < 0 ? '-' : '';
vmax[0] = vmax[0].replace('-', '');
vmin[0] = vmin[0].replace('-', '');
settings.mInt = Math.max(vmax[0].length, vmin[0].length, 1);
if (settings.mDec === null) {
var vmaxLength = 0,
vminLength = 0;
if (vmax[1]) {
vmaxLength = vmax[1].length;
}
if (vmin[1]) {
vminLength = vmin[1].length;
}
settings.mDec = Math.max(vmaxLength, vminLength);
} /** set alternative decimal separator key */
if (settings.altDec === null && settings.mDec > 0) {
if (settings.aDec === '.' && settings.aSep !== ',') {
settings.altDec = ',';
} else if (settings.aDec === ',' && settings.aSep !== '.') {
settings.altDec = '.';
}
}
/** cache regexps for autoStrip */
var aNegReg = settings.aNeg ? '([-\\' + settings.aNeg + ']?)' : '(-?)';
settings.aNegRegAutoStrip = aNegReg;
settings.skipFirstAutoStrip = new RegExp(aNegReg + '[^-' + (settings.aNeg ? '\\' + settings.aNeg : '') + '\\' + settings.aDec + '\\d]' + '.*?(\\d|\\' + settings.aDec + '\\d)');
settings.skipLastAutoStrip = new RegExp('(\\d\\' + settings.aDec + '?)[^\\' + settings.aDec + '\\d]\\D*$');
var allowed = '-' + settings.aNum + '\\' + settings.aDec;
settings.allowedAutoStrip = new RegExp('[^' + allowed + ']', 'gi');
settings.numRegAutoStrip = new RegExp(aNegReg + '(?:\\' + settings.aDec + '?(\\d+\\' + settings.aDec + '\\d+)|(\\d*(?:\\' + settings.aDec + '\\d*)?))');
return settings;
}