Tengo una expresión regular de JS.Regexp.match.length devuelve NULL si no se encuentra
var t1 = str.match(/\[h1\]/g).length;
Si str
contiene la palabra [h1]
funciona bien otra cosa que muestra el error!
¿Cómo resolver el problema?
Tengo una expresión regular de JS.Regexp.match.length devuelve NULL si no se encuentra
var t1 = str.match(/\[h1\]/g).length;
Si str
contiene la palabra [h1]
funciona bien otra cosa que muestra el error!
¿Cómo resolver el problema?
var t1 = (str.match(/\[h1\]/g)||[]).length;
¿qué le parece si lo hace en 2 pasos, primero lo prueba antes de llegar a la longitud.
var t1 = 0;
var string = str.match(/\[h1\]/g);
if (string){
t1 = string.length;
}
Esa es la forma en que se supone que funciona. No has identificado el problema.
Si usted quiere hacer algo en función de si o no str
contiene "[h1]", intente esto:
var t1;
var strmatch = str.match((/\[h1\]/g);
if (strmatch !== null) {
t1 = strmatch.length;
}
¡Ohh! Tuve que eliminar mi respuesta porque me encantaba la tuya demasiado;) – Peter
funcionó, ¿podrías explicar qué hace realmente este código '|| []'? – Sourav
Buen uso de ||. – jmbucknall