Regex test

Testing hostname regex

by matox

HTML

<ul id="list"></ul>

SCSS

#list {
  list-style: none;
  .passed {
    color: green;
  }
  .failed {
    color: red;
  }
}

JavaScript

const testCases = [
  {str: 'f', expect: true},
  {str: 'fl', expect: true},
	{str: 'flow', expect: true},
  {str: 'flow.s', expect: true},
  {str: 'flow.si', expect: true},
  {str: 'www.flow.si', expect: true},
  {str: 'w.f.si', expect: true},  
  {str: 'ww.f.si', expect: true},
  {str: 'ww.ff.si', expect: true},
  {str: 'ww.f-f.si', expect: true},
  {str: 'w.flow.si', expect: true},  
  {str: 'ww.flow.si', expect: true},
  {str: 'www.fl-ow.si', expect: true},    
  {str: 'www.flow.s-i', expect: true},      
  {str: 'w-ww.flow.si', expect: true},       
  {str: 'w-w-w.flow.si', expect: true},        
  {str: 'w-w-w..flow.si', expect: false},    
  {str: 'fl-ow', expect: true},
  {str: 'fl--ow', expect: false},
  {str: 'fl--..-ow', expect: false},
  {str: 'flow.', expect: false},
  {str: 'flow-', expect: false},
  {str: 'flow.-', expect: false},
  {str: 'flow-.', expect: false},
  {str: 'flow..', expect: false},
  {str: 'flow--', expect: false},
  {str: 'flow------', expect: false},
  {str: 'www.-flow.si', expect: false},
  {str: 'www-.flow.si', expect: false},  
  {str: 'www.flow.-si', expect: false},   
  {str: 'www.flow-.si', expect: false},
  {str: '0123456789012345678901234567890123456789012345678901234567891234.flow.si', expect: true},
  {str: '01234567890123456789012345678901234567890123456789012345678912345.flow.si', expect: false},
  {str: '0123456789012345678901234567890123456789012345678901234567891234.0123456789012345678901234567890123456789012345678901234567891234.0123456789012345678901234567890123456789012345678901234567891234', expect: true},
  {str: '01234567890123456789012345678901234567890123456789012345678912345.0123456789012345678901234567890123456789012345678901234567891234.0123456789012345678901234567890123456789012345678901234567891234', expect: false},  
  {str:...