Estaba a punto de crear una función de corte en javascript, pero como no quiero reinventar la rueda busqué en Google este método.
He encontrado este enlace http://www.somacon.com/p355.php¿Debo modificar el prototipo de String?
La solución que se proporciona:
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
return this.replace(/\s+$/,"");
}
también
que dice si Don'y Wnt para cambiar el prototipo de la cadena a continuación, utilizar esto:
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
return stringToTrim.replace(/\s+$/,"");
}
Me gustaría saber en qué caso uno debería no modificar el prototipo de Cadena o decir cualquier objeto.
+1 para 'if (! ('Trim' en String.prototype)) {' –
¿Qué pasa con if (! String.prototype.trim)? Me parece más eficiente. – KooiInc
'in' es más explícito acerca de lo que está probando, sin depender de la veracidad de una propiedad o la extravagante y terrible peculiaridad de JavaScript de resintonizar un nuevo' 'no definido'' para algo que cualquier otro idioma consideraría una excepción. Para este caso particular, por supuesto, no importa para nada, pero en general siempre uso 'in' para probar si un objeto tiene una propiedad. – bobince