Match Accented Letters with Regular Expressions

Regular expressions are used for a variety of tasks but the one I see most often is input validation. Names, dates, numbers…we tend to use regular expressions for everything, even when we probably shouldn’t.

The most common syntax for checking alphabetic characters is A-z but what if the string contains accented characters? Characters like ğ and Ö will make the regex fail. That’s where we need to use Unicode property escapes to check for a broader letter format!

Let’s look at how we can use p{Letter} and the Unicode flag (u) to match both standard and accented characters:

// Single word
"Özil".match(/[p{Letter}]+/gu)

// Word with spaces
"Oğuzhan Özyakup".match(/[p{Letter}s]+/gu);

Using regular expressions to validate strings, especially names, is much more difficult than A-z+. Names and other strings can be very diverse — let’s not insult users by making them provide non-accented letters just to pass validation!

  • I’m an Impostor

    This is the hardest thing I’ve ever had to write, much less admit to myself.  I’ve written resignation letters from jobs I’ve loved, I’ve ended relationships, I’ve failed at a host of tasks, and let myself down in my life.  All of those feelings were very…

  • Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in…

  • Introducing MooTools ElementSpy

    One part of MooTools I love is the ease of implementing events within classes. Just add Events to your Implements array and you can fire events anywhere you want — these events are extremely helpful. ScrollSpy and many other popular MooTools plugins would…

  • Create a NoScript Compatible Select Form Element with an onChange Event