Al final la primera la dejé así
Código:
var regex = new RegExp('^[\\d\\'+separador+']*$');
Al final el "i" de case insensitive estaba de más, ya que sólo pregunto por números y separadores. Creo que por ahí va la cosa.
y la otra la deje así
Código:
var funcion2 = function(cadena) {
var regex = new RegExp('[^\\d\\'+sDecimal+']','g');
return cadena.replace(regex,'').replace(/[^\d]/g,'.');
}
Para dejar una cadena en el formato apropiado para convertirla en número.