Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะแยกวิเคราะห์ URL ใน JavaScript ได้อย่างไร


การแยกวิเคราะห์ URL

ง่ายมากที่จะแยกวิเคราะห์ URL ใน javascript โดยใช้ DOM เมธอดแทนที่จะเป็น นิพจน์ทั่วไป . หากใช้นิพจน์ทั่วไป โค้ดจะซับซ้อนกว่ามาก ใน DOM เมธอดเพียงการเรียกใช้ฟังก์ชันจะส่งคืน URL ที่แยกวิเคราะห์ .

ในตัวอย่างต่อไปนี้ เริ่มแรกฟังก์ชันจะถูกสร้างขึ้น จากนั้นจึงสร้าง แท็ก anchor "a" ถูกสร้างขึ้นภายในโดยใช้ DOM กระบวนการ. ต่อมาใน URL . ที่ให้มา ถูกกำหนดให้กับแท็กสมอโดยใช้ href . ตอนนี้ เมื่อฟังก์ชันส่งคืนส่วนของ URL ฟังก์ชันจะพยายามส่งคืนส่วนที่แยกวิเคราะห์ ตามที่แสดงในผลลัพธ์ เนื่องจาก url แยกวิเคราะห์ JSON.stringify() เมธอดถูกใช้เพื่อแสดงผลลัพธ์

ตัวอย่าง

<html>
<body>
<script>
   function URL(url) {
      var urlParser = document.createElement('a');
      urlParser.href = url;
      return {
         protocol: urlParser.protocol,
         host: urlParser.host,
         hostname: urlParser.hostname,
         port: urlParser.port,
         pathname: urlParser.pathname,
         search: urlParser.search,
         hash: urlParser.hash
      };
   }
   document.write(JSON.stringify(URL("https://www.youtube.com/watch?v=tNJJSrfKYwQ")));
</script>
</body>
</html>

เอาต์พุต
{"protocol":"https:","host":"www.youtube.com","hostname":"www.youtube.com","port":"","pathname":"/watch","search":"?v=tNJJSrfKYwQ","hash":""}