¿Cómo saber si una cadena es una URL válida en C#?
Puedes usar expresiones regulares en js para verificar
El siguiente ejemplo:
Verificación de URL,
Condición: debe ser http: // o https://, el número de puerto debe estar entre 1-65535, el siguiente código completa la verificación de legalidad
//obj: objeto de datos
/ /dispStr: Failure cadena de visualización de contenido del mensaje
función checkUrlValid(obj, dispStr)
{
if(obj == null)
{ p>
alert("El objeto entrante está vacío");
return false
}
var str = obj .value ; p>
var urlpatern0 = /^https?:\/\/.+$/i
if(!urlpatern0.test(str))
{ p>
alert(dispStr+"Ilegal: debe comenzar con 'http:\/\/' o 'https:\/\/'!");
obj. p>
devuelve falso
}
var urlpatern2= /^https?:\/\/(([a-zA-Z0- 9_-])+( \.)?)*(:\d+)?.+$/i
if(!urlpatern2.test(str))
{
alert(dispStr+"¡El número de puerto debe ser un número y debe estar entre 1-65535!"
obj.focus()
return false
<); p>}var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(: \d+)?( \/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; urlpatern1.test(str))
{
alert(dispStr+"Ilegal, ¡compruébelo!");
obj.focus (); >
devuelve falso;
}
var s = "0"
var t =0; = nueva RegExp(":\\d+","ig");
mientras((arr = re.exec(str))!=null)
{
s = str.substring(RegExp.index+1,RegExp.lastIndex
if(s.substring(0,1)=="0")
{
alert(dispStr+"¡El número de puerto no puede comenzar con 0!");
obj.focus()
return false
}
t = parseInt(s);
if(t<1 || t >65535)
{
alert(dispStr+"El número de puerto debe ser un número y debe estar entre 1-65535!"
obj.focus()
return false
}
}
return true;
}
La verificación de la URL parece que hay mucho código. esto se debe a que es necesario proporcionar mensajes de error; de lo contrario, simplemente var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*( :\d+) ?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; Puedes corregirlo en una oración. la legalidad de la URL