Advertisement
rgruber

file drop hostnames and domains

Jan 1st, 2023
1,291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let container = document.getElementById('container');
  2. if (!container) {
  3.   container = document.createElement('div');
  4.   container.id = 'container'; container.style="width:200px;height:100px;background-color:whitesmoke";
  5.   document.body.insertBefore(container, document.body.firstChild);
  6. }
  7.  
  8. container.addEventListener('dragover', function(event) {
  9.   event.preventDefault();
  10.   container.style.cursor = 'grabbing';
  11. });
  12.  
  13. container.addEventListener('dragleave', function(event) {
  14.   container.style.cursor = 'default';
  15. });
  16.  
  17. container.addEventListener('drop', function(event) {
  18.   event.preventDefault();
  19.   container.style.cursor = 'default';
  20.   let files = event.dataTransfer.files;  // this is a FileList object, not an array
  21.   for (let i = 0; i < files.length; i++) {
  22.     let file = files[i];console.log(file);
  23.     let domains = [];
  24.     //let regex = /[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+/g;
  25.     let regex = /[a-z0-9_.-]+\.[a-z]+/gim;
  26.     //let regex = /\b[a-z0-9_-]+(\.(com|co|org|or|gov|gv|ac))*\.[a-z]+\b(?=$|\t|,)/gim;  
  27.     file.text().then(text => {
  28.         console.log(text.length);
  29.  
  30.        
  31.     /* let match; while (match = regex.exec(text)) {
  32.       domains.push(match[0]);
  33.     }*/
  34.     let hostnames =[... new Set(text.match(regex))].sort();
  35.     console.log(hostnames);
  36.     let domains=[... new Set(hostnames.map(v=>v.match(/[a-z0-9_-]+(\.(com|co|org|or|gov|gv|ac))*\.[a-z]+$/i)[0]||false))];
  37.     console.log(domains);
  38.        
  39. });  
  40.      
  41.      
  42.    
  43.    
  44.   }
  45. });
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement