Voy a intentar explicar lo más importante de la función:
Se convierte el texto en un array de subcadenas usando el método split() y utilizando el carácter "{" como separador.
En cada subcadena, para que todo cuadre, debe existir un único carácter "}". Para comprobar esto, utilizo la siguiente orden:
<pre> if (er.test(subtxt[j]))
"Si la subcadena subtxt[j] cumple la expresión
regular indicada en la variable er." </pre>
Si alguna de las subcadenas no cumple la expresión regular, se entiende que el texto no está bien formado.
La
expresión regular es una especie de máscara o plantilla:
er = /^[^}]*}[^}]*$/ ;
Dónde:
<pre> / / - Delimita la expresión regular.
^ $ - Comprueba el texto desde el principio (^) al final ($).
[^}]* - Coge todo los caracteres mientras que no se encuentre "}"
} - Debe haber un carácter "}"
[^}]* - Sigue cogiendo caracteres mientras que no encuentre otro "}". </pre>
No creo que sea fácil ni explicarlo ni entenderlo, pero espero que ayude algo.
Hay mucha información en internet sobre expresiones regulares. Si te interesa, entre otros enlaces, puedes mirar en: <a href='ir.asp?http://developer.netscape.com/docs/manuals/communicator/jsguide/regexp.htm' target='_blank'>http://developer.netscape.com/docs/manua...</a>.
Saludos.
<style>.t{font: 8pt verdana; text-decoration: none; color: black;}</style><hr><span class="t"><a href="mailto:
[email protected]" class="t" style="font: 10pt;">Mikel Gómez</a><br>Hay que aprender mucho para saber poco.</span>