ucfirst de PHP en Javascript
function ucfirst(string){
return string.charAt(0).toUpperCase() + string.slice(1);
}
Por ejemplo:
foo = 'hello world!'; foo = ucfirst(foo); // Hello world! bar = 'HELLO WORLD!'; bar = ucfirst(bar.toLowerCase()); // Hello world!
Si la cadena esta entera en mayúsculas y se quiere tener sólo la primera, priemero se debería pasar toda a minúscula y después cambiar la primera.
Tildes en Javascript
Para mostrar tildes y otros carácteres especiales con javascript, por ejemplo en un alert() hay que hacerlo en unicode. En Nice entity hay una lista de conversión entre carácteres especiales y su versión en HTML y unicode.
Por ejemplo, á en unicode sería Seguir leyendo y ver ó escribir comentarios →\u00e1, de manera que es prácticamente imposible recordar todos los carácteres, por eso lo más lógico es hacer una función que nos los convierta, así podemos escribir con los carácteres que queramos sin preocuparnos de la codificación, y luego aplicar la función.
Base64 (encode y decode) en Javascript
Me he pasado un rato buscando alguna función para codificar y decodificar (que no encriptar) cadenas de texto en base64, de la misma forma que lo haría en PHP.
En PHP es algo así:
<?PHP
$cadena = base64_encode('w00t');
echo $cadena; # dzAwdA==
$cadena = base64_decode('dzAwdA==');
echo $cadena; # w00t
?>
Y en Javascript, con el código que pondré a continuación, sería algo así:
<script>
var cadena = Base64.encode('w00t');
alert(cadena); // dzAwdA==
var cadena = Base64.decode('dzAwdA==');
alert(cadena); // w00t
</script>
La función str_replace() de PHP en Javascript
La función str_replace() de PHP tiene un uso muy sencillo, se le entregan 3 parámetros; la cadena a buscar, la cadena por la que se substituirá, y la cadena sobre la que se va a trabajar. Por ejemplo…
$cadena = 'Prefiero el helado de frutas del bosque';
echo $cadena;
// Prefiero el helado de frutas del bosque
$cadena = str_replace('frutas del bosque','pistacho',$cadena);
echo $cadena;
// Prefiero el helado de pistacho
Más información sobre str_replace() en la página de PHP.
Para hacerlo en Javascript se haría así:
cadena = 'Prefiero el helado de frutas del bosque'; alert(cadena); // Prefiero el helado de frutas del bosque cadena = cadena.replace(/frutas del bosque/g,"pistacho"); alert(cadena); // Prefiero el helado de pistacho
Si sólo se quiere cambiar la primera coincidencia, en vez de utilizar /frutas del bosque/g debería ser "frutas del bosque". El cambio entre //g y "" es aparentemente absurdo y me ha costado varias horas de trabajo… pero de errores se aprende.