title: A solid nickname regexp
body: <p>I want a regular expression to validate a nickname: 6 to 36 characters, it should contain at least one letter. Other allowed characters: 0-9 and underscores.</p>
  
  <p>This is what I have now: </p>
  
  <pre><code>if(!preg_match('/^.*(?=\d{0,})(?=[a-zA-Z]{1,})(?=[a-zA-Z0-9_]{6,36}).*$/i', $value)){
   echo 'bad';
  }
  else{
   echo 'good';
  }
  </code></pre>
  
  <p>This seems to work, but when a validate this strings for example:</p>
  
  <p>11111111111a > is not valid, but it should
  aaaaaaa!aaaa > is valid, but it shouldn't</p>
  
  <p>Any ideas to make this regexp better?</p>