Estaba tratando de validar algunas URL. También he intentado usar constructores de URL de expresiones regulares y JavaScript. Pero estaba tratando específicamente de resolver la tarea con document.createElement('a') . Estoy siguiendo los códigos para la tarea y funciona bien en JSbin . Pero no funciona en mi editor local. ¿Alguien puede explicar si document.createElement('a') es válido para las etiquetas de anclaje y por qué hay un resultado en JSbin y no en mi editor local (muestra algún error).
PS Trabajando nuevo con JavaSCript y DOM Manipulation
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>test</title> </head> <body> <div id="div"></div> <script src="test.js"></script </body> </html>JavaScript
function isValidURL(str) { var div = document.getElementById('div'); var a = document.createElement('a'); a.href = str; a.innerText = "check"; div.appendChild(a); return a.protocol === "http:" || a.protocol === "https:"; } console.log(isValidURL('file:///Y:/bleh/index.html')); console.log(isValidURL('https://www.youtube.com/watch?v=iFP-EWO_Q_o')); console.log(isValidURL('en.wikipedia.org')); La consola da como resultado falso , verdadero , verdadero en consecuencia en jsbin . Pero muestra el error ReferenceError: document is not defined en el editor local.