I am not aware of any such existing libraries or frameworks that support that level of scrutiny over a persons name. Most likely Facebook built it in house for their very specific requirements.
May I make a slightly off topic suggestion? I would abandon this "requirement".
No doubt false-positives (users who have legitimate names who you have rejected on the basis that the name 'looks unusual') would drive away people from other languages/cultures.
Facebook can only get away with this because they are a juggernaut. You are not Facebook. On Facebook the user is already following a carrot (maybe their friends are telling them to make an account, or it is a requirement for some other site, etc.) and will circumvent the name limitations if necessary.
On your site/app the user will probably just add to your bounce rate. You must tread extremely carefully when welcoming a new user to your site and be very careful not to give them a reason to abandon your registration. Avoid any form of scrutiny unless it is absolutely necessary.
Regarding the example guidelines...
- With Guideline #1, obviously false symbols and numbers are safe
scrutiny. But the other requirements are commonplace in names of
people in other cultures.
- Guideline #2 shows a blatent disregard for other cultures, and I personally find it a little bit racist.
- Guideline #3 specifies that no titles are allowed. Are you telling
me I can't have acknowledgement of title on your site/app? Why? For
what reason may I not be referred to as 'Dr. John Smith'? Just seems
like a frivolous rule...
- Guideline #4 I can't imagine is even possible without human intervention. I imagine English words are common place as middle names, but 'Eye Pea Freely' is an obvious forgery (or is it? can you be 100% certain it's not an actual name?)
- Guideline #5 is probably the most reasonable rule, which you could probably enforce with some dictionary checking (lots of free dictionary data sets out there on Google). However, it's still almost impossible to police.