title: Accept international name characters in RegEx
body: <p>I've always struggled with RegEx so forgive me if this may seem like an awful approach at tackling my problem.</p>
  
  <p>When users are entering first and last names I started off just using the basic, check for upper and lower case, white space, apostrophes and hyphens</p>
  
  <pre><code>if (!preg_match("/^[a-zA-Z\s'-]+$/", $name)) { // Error }
  </code></pre>
  
  <p>Now I realise this isn't the best since people could have things such as: Dr. Martin Luther King, Jr. (with comma's and fullstops). So I assume by changing it to this would make it slightly more effective.</p>
  
  <pre><code>if (!preg_match("/^[a-zA-Z\s,.'-]+$/", $name)) { // Error }
  </code></pre>
  
  <p>I then saw a girls name I know on my Facebook who writes her name as Siân, which got me thinking of names which contain umlauts as well as say Japanese/Chinese/Korean/Russian characters too. So I started searching and found ways by writing each of these characters in there like so.</p>
  
  <pre><code>if (!preg_match("/^[a-zA-Z\sàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð ,.'-]+$/u", $first_name)) { // Error }
  </code></pre>
  
  <p>As you can imagine, it's extremely long winded and I'm pretty certain there is a much simpler RegEx which can achieve this. Like I've said, I've searched around but this is the best I can do.</p>
  
  <p>So, what is a good way to check for upper and lower case characters, commas, full stops, apostrophes, hypens, umlauts, Latin, Japanese/Russian etc</p>