出于网站验证目的,我需要名字和姓氏验证。
对于名字,它只能包含字母,可以是多个带有空格的单词,并且最少为 3 个字符,但最多为 30 个字符。不应验证空字符串(例如 Jason、jason、jason smith、jason smith、>杰森、杰森史密斯、杰森史密斯和杰森史密斯)。
对于姓氏,它应该是单个单词,只有字母,至少三个字符,但最多 30 个字符。不应验证空字符串(例如 lazslo、Lazslo 和 LAZSLO)。
最佳答案
不要忘记诸如以下的名称:
- 马蒂亚斯·达拉斯
- 马丁·路德·金
- 赫克托·香肠-豪森
这应该可以解决大多数问题:
/^[a-z ,.'-]+$/i
或者使用 super 可爱的unicode支持国际名称:
/^[a-zA-ZàáâäãåąčćęèééêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁâääĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛ ÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+$/u
关于regex - 名字和姓氏的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385701/