Comunidad de diseño web y desarrollo en internet online

Expreción regular no me funciona

Citar            
MensajeEscrito el 14 Ene 2014 03:33 pm
Hola a todos,

tengo una exprecion regular /^\s*[.-]\d+\s*$/
Preciso que esta valide que tenga solo Números (minmo 1 maximo 16) y esta puede tener como no . y - pero ningun otro caracter, solo punto y guion. No tiene por que tenerlos.

MUCHISIMAS GRACIAS!!!

Por JuanPabloIbarra

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Ene 2014 04:07 pm

Código :

/^[|.|-]*\d{16}+$/


Creo que algo así

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 14 Ene 2014 04:14 pm
Gracias NACHO!!

me da un error cuando pongo lo que mandas. No deberia, no?

Por JuanPabloIbarra

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Ene 2014 04:18 pm
tengo esto

<script type="text/javascript">

function validar(){
var validationemail = document.getElementById('emial1').value;
var validationphone = document.getElementById('phoneN').value;
var salida = document.getElementById('idSalida');
var atpos=validationemail.indexOf("@");
var dotpos=validationemail.lastIndexOf(".");

var regExPattern = /^\d+([.-]\d+)?$/;



if(regExPattern.test(validationphone)){
}else{
salida.value = "ERROR expresion regular";
return false;
}

if(validationphone.length>16){
salida.value = "ERROR mayor a 16";
return false;
}
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length || validationphone.length>16){
salida.value = "ERROR del mail";
return false;

}else{
return true;
}

}

</script>

Por JuanPabloIbarra

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Ene 2014 04:19 pm

Código :

/^[.-]*\d{1,16}$/

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 14 Ene 2014 04:26 pm
Nacho, ahora si lo valida el tema que solo funciona si le pongo el punto o el guion antes de los numeros.. yo tengo que poder ponerle el punto y el guion en cualquier posición.

Soy bastante nuevo en js.. disculpame la joda ^^

Por JuanPabloIbarra

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Ene 2014 04:40 pm

Código :

/^([.-]*\d[.-]*){1,16}$/


- Punto y/o guión en cualquier parte (antes, intercalado o después)
- De 1 a 16 números sin contar los signos


Lo que yo uso para los teléfonos es:

Código :

/^(\(?\d{2,3}\)?)*[\s.-](\d{2,3}[\s.-]*)*(\d{2}[\s.-]*)+$/

Acepta paréntesis por si agregan la lada, les permito bloques de 2 a 3 números separados por espacio, guión o punto. O los números juntos (sin signos)

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 14 Ene 2014 05:01 pm
Gracias por el aporte. de todas maneras se ve que estoy haciendo algo mal por que no me funciona

/^([.-]*\d[.-]*){1,16}$/

mi script

<script type="text/javascript">

function validar(){
var validationemail = document.getElementById('emial1').value;
var validationphone = document.getElementById('phoneN').value;
var salida = document.getElementById('idSalida');
var atpos=validationemail.indexOf("@");
var dotpos=validationemail.lastIndexOf(".");

var regExPattern = /^(\(?\d{2,3}\)?)*[\s.-](\d{2,3}[\s.-]*)*(\d{2}[\s.-]*)+$/;



if(regExPattern.test(validationphone)){
}else{
salida.value = "ERROR expresion regular";
return false;
}

if(validationphone.length>16){
salida.value = "ERROR mayor a 16";
return false;
}
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length || validationphone.length>16){
salida.value = "ERROR del mail";
return false;

}else{
return true;
}

}

</script>

Por JuanPabloIbarra

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Ene 2014 05:13 pm
T_T

Código Javascript :

function isValidEmailAddress(email) {
    var pattern = new RegExp(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
    return pattern.test(email);
};
function isValidTel(tel) {
    var pattern = new RegExp(/^(\(?\d{2,3}\)?)*[\s.-](\d{2,3}[\s.-]*)*(\d{2}[\s.-]*)+$/);
    return pattern.test(tel);
};

if( $('#email').val() == '' || !isValidEmailAddress( $('#email').val() ) ){
   alert('Error con el mail');
}else{
   alert('Mail OK');
}// #email - required - isMail

if( $('#tel').val() == '' || !isValidTel( $('#tel').val() ) ){
       alert('Error con el tel');
}else{
        alert('Tel OK');
}// #tel - required  - isTel

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 14 Ene 2014 05:18 pm
Opa, mucho mejor... en algun lado cierra mal por que me da error el depurador de codigo.
Loco, mil gracias!

Por JuanPabloIbarra

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Ene 2014 05:32 pm
Opa, mucho mejor... en algun lado cierra mal por que me da error el depurador de codigo.
Loco, mil gracias!

Por JuanPabloIbarra

4 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.