evitar - espacios en blanco javascript
¿Cómo eliminar los espacios en blanco iniciales y finales de una cadena html determinada? (6)
Consulte el trim()
método String trim()
- https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim
var myString = '' bunch of <br> string data with<p>trailing</p> and leading space '';
myString = myString.trim();
// or myString = String.trim(myString);
Editar
Como se señaló en otros comentarios, es posible utilizar el enfoque de expresión regular. El método de trim
es efectivamente solo un alias para una expresión regular:
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^/s+|/s+$/g,'''');
};
}
... esto inyectará el método en el prototipo nativo para los navegadores que todavía están nadando en el extremo poco profundo de la piscina.
Tengo la siguiente cadena html. ¿Cuál sería el código de muestra en JavaScript para eliminar los espacios en blanco iniciales y finales de esta cadena?
<p> </p>
<div> </div>
Trimming using JavaScript<br />
<br />
<br />
<br />
all leading and trailing white spaces
<p> </p>
<div> </div>
Sé que esta es una pregunta muy antigua, pero todavía no tiene una respuesta aceptada. Veo que desea eliminar lo siguiente: etiquetas html que están "vacías" y espacios en blanco basados en una cadena html.
He encontrado una solución basada en su comentario para el resultado que está buscando:
Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces
var str = "<p> </p><div> </div>Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces<p> </p><div> </div>";
console.log(str.trim().replace(/ /g, '''').replace(/<[^//>][^>]*><//[^>]+>/g, ""));
.trim()
elimina el espacio en blanco .trim()
y final
.replace(/ /g, '''')
elimina
.replace(/<[^//>][^>]*><//[^>]+>/g, ""));
elimina etiquetas vacías
Si está trabajando con una cadena multilínea, como un archivo de código:
<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>
Y desea reemplazar todas las líneas principales, para obtener este resultado:
<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>
Debe agregar el indicador multiline
a su regex, ^
y $
match línea por línea:
string.replace(/^/s+|/s+$/gm, '''');
Cita relevante de documentos :
La bandera "m" indica que una cadena de entrada de línea múltiple debe tratarse como líneas múltiples. Por ejemplo, si se usa "m", "^" y "$" cambian de la coincidencia solo al principio o al final de la cadena completa al inicio o al final de cualquier línea dentro de la cadena.
string.replace(/^/s+|/s+$/g, "");
var str = " my awesome string "
str.trim();
para navegadores antiguos, use expresiones regulares
str = str.replace(/^[ ]+|[ ]+$/g,'''')
//str = "my awesome string"
var trim = your_string.replace(/^/s+|/s+$/g, '''');