Expresion Regular para validar URLs con JavaScript

Validar Formularios con JavaScript y expresiones regulares: Validación de URL.

Validar URL JavaScript

La forma más fácil para validar una dirección URL con JavaScript dentro de un formulario, es usar expresiones regulares, he creado una pequeña función bastante útil que es capaz de validar incluso formatos raros de URL (por ejemplo: http://dominio.com:445/)

La función que contiene la expresión regular es la siguiente:

[code]function ValidaURL(url) {
var regex=/^(ht|f)tps?:\/\/\w+([\.\-\w]+)?\.[a-z]{2,10}(:\d{2,5})?(\/.*)?$/i;
return regex.test(url);
}[/code]

Ejemplo de formulario con la función que valida la URL integrada:

Actualización 25-Oct-2016: La expresión regular es válida/compatible con Expresiones Regulares de PERL y con la función preg_match() de PHP.
Nota 1: Puedes copiar este código en el bloc de notas y guardar con extensión HTML para verlo en acción.
Nota 2: Se debe reaamplazar campo_a_validar por el nombre real del campo que contendrá la URL que deseas validar en tu formulario.

[code]<script type="text/javascript"><!–
function ValidaURL(url) {
var regex=/^(ht|f)tps?:\/\/\w+([\.\-\w]+)?\.[a-z]{2,10}(:\d{2,5})?(\/.*)?$/i
return regex.test(url);
}
//Validar del campo de formulario de URL
function validar(f) {
if(!ValidaURL(f.campo_a_validar.value) ){
alert("La dirección URL es incorrecta");
f.campo_a_validar.focus();
return (false);
}
}
// –></script>
Formulario de ejemplo:
<form method="post" action="" onsubmit="return validar(this)">
<div>Dirección URL: <input type="text" name="campo_a_validar" value="" /><br />
<input type="submit" value="Validar URL" /></div>
</form>[/code]

Eso es todo, si tienen dudas pueden dejar una respuesta y con gusto trataré de resolverla.

Saludos desde México, DASUMO.

  1. Crear ventanas con JavaScript usando el objeto Window
  2. Validar Email con JavaScript usando Expresiones Regulares
  3. JavaSript: Usar target _blank en XHTML 1.0 Strict y XHTML 1.1
15 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *