Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/06/2007, 14:36
Avatar de Shiryu_Libra
Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 10 meses
Puntos: 88
Re: Expresiones Regulares + Format

en extracto de las funciones, que esta muy bien de hecho

Funcion para Tipo Moneda
Código PHP:
<!--
function 
jm_currencymask(t)
{var 
patt = /(d*).{1}(d{0,2})/;
var 
donepatt = /^(d*).{1}(d{2})$/;
var 
str t.value;
var 
result;
if (!
str.match(donepatt))
{
result str.match(patt);
if (
result!= null)
{
t.value t.value.replace(/[^d]/gi,'');
str result[1] + '.' result[2] ;
t.value str;
}else{
if (
t.value.match(/[^d]/gi))
t.value t.value.replace(/[^d]/gi,'');}
}} 
ahora como se llama:
Cita:
<input type="text" onkeyup="jm_currencymask(this)" name="textfield"/>
Currency (0000.00)
Funcion para Tipo Fecha
Código PHP:
function jm_datemask(t)
{var 
donepatt = /^(d{2})/(d{2})/(d{4})$/;
var 
patt = /(d{2}).*(d{2}).*(d{4})/;
var 
str t.value;
if (!
str.match(donepatt))
{
result str.match(patt);
if (
result!= null)
{
t.value t.value.replace(/[^d]/gi,'');
str result[1] + '/' result[2] + '/' result[3];
t.value str;
}else{
if (
t.value.match(/[^d]/gi))
t.value t.value.replace(/[^d]/gi,'');
}}} 
Se Llama de esta manera
Cita:
<input type="text" onkeyup="jm_datemask(this)" name="textfield2"/>
Date (00/00/0000)
Funcion para Telefono
Código PHP:
function jm_phonemask(t)
{var 
patt1 = /(d{3}).*(d{3}).*(d{4})/;
var 
patt2 = /^((d{3})).(d{3})-(d{4})$/;
var 
str t.value;
var 
result;
if (!
str.match(patt2))
{
result str.match(patt1);
if (
result!= null)
{
t.value t.value.replace(/[^d]/gi,'');
str '(' result[1] + ') ' result[2] + '-' result[3];
t.value str;
}else{
if (
t.value.match(/[^d]/gi))
t.value t.value.replace(/[^d]/gi,'');
}}} 
Llamada
Cita:
<input type="text" onkeyup="jm_phonemask(this)" name="textfield3"/>
Phone ((000) 000-0000)
Funcion para Seguro Social
Código PHP:
function jm_ssnmask(t)
{var 
patt = /(d{3}).*(d{2}).*(d{4})/;
var 
donepatt = /^(d{3})-(d{2})-(d{4})$/;
var 
str t.value;
var 
result;
if (!
str.match(donepatt))
{
result str.match(patt);
if (
result!= null)
{
t.value t.value.replace(/[^d]/gi,'');
str result[1] + '-' result[2] + '-' result[3];
t.value str;
}else{
if (
t.value.match(/[^d]/gi))
t.value t.value.replace(/[^d]/gi,'');}
}}
//--> 
y por ultimo como lo llamamos
Cita:
<input type="text" onkeyup="jm_ssnmask(this)" name="textfield4"/>
Social Security Number (000-00-0000)
estas funciones de expresiones regulares que formatean los textbox, han sido tratados en el foro de javascript, tambien podran encontrar ejemplo de RFC, e incluso del CURP, solo seria cuestion de Buscar

vale la pena tenerlas aki en nuestro foro, ya que son preguntas frecuentes

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra