簡體   English   中英

名字和姓氏正則表達式

[英]First and surn name regex

我寫了一個正則表達式來匹配我網站上注冊表的名字/姓氏。 要求是:

  • 最多 44 個字符
  • -'是可以接受的
  • 名稱中可以有一個空格
  • 不需要 Unicode

有什么辦法可以讓我的表情變短嗎?

^[a-zA-Z]{2,12}['-]?[a-zA-Z]{1,10}\s?[a-zA-Z]{2,12}['-]?[a-zA-Z]{1,10}$

名稱字段是否有太多限制?

首先使用正則表達式,響應最多為 47 個字符:12+1+10+1+12+1+10。

我認為對您來說最好的方法是允許來自字母、逗號、減號或空格的 44 個字符。

您可以強制第一個字符為字母:

^[a-zA-Z][a-zA-Z\-'\s]{0,43}$

以下是您的代碼可能遺漏的名稱:

Jo Blow                  not passed
Hyoung Kyoung Wu         not passed
Mike O'Neal              not passed
d'Are to Beaware         not passed
O Henry Smith            not passed
Mathais d'Arras          not passed
Martin Luther King Jr    not passed
George De FunkMaster     not passed
Kurtis B-Ball Basketball not passed
Ahmad el Jeffe           not passed
An Ni                    not passed

你可以試試這個可以處理幾乎所有名字的

^[^- '](?=(?![A-Z]?[A-Z]))(?=(?![a-z]+[A-Z]))(?=(?!.*[A-Z][A-Z]))(?=(?!.*[- '][- ']))[A-Za-z- ']{2,}$
Jo Blow                      passed
Hyoung Kyoung Wu             passed
Mike O'Neal                  passed
d'Are to Beaware             passed
O Henry Smith                passed
Mathais d'Arras              passed
Martin Luther King Jr        passed
George De FunkMaster         passed
Kurtis B-Ball Basketball     passed
Ahmad el Jeffe               passed
An Ni                        passed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM