Javascript First和surn name regex
我在我的网站上写了一个正则表达式来匹配注册表格的名/姓。 这些要求是:Javascript First和surn name regex,javascript,regex,Javascript,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个字符来自字母、昏迷、负号或
- 最多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}$
首先,对于正则表达式,响应最多为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 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,}$
你的解决方案(或任何解决方案)注定会失败。没有什么比拥有一个“无效”的真名更烦人的了。简单的回答是:不要尝试有可能失败的例子吗?我感觉我涵盖了大多数情况。在您的要求中,您声明“名称中的一个空格是可以接受的”。我的名字是“PeeHaa von Trappenhauss Kraftwagen bis Glühwein”,我的名字是Al Salam Bin Laden,或者AlbertÅberg?究竟为什么要限制用户名?检查“有效”名称和阻止SQL注入是两个截然不同的问题。原则上,这个名字没有问题。理想情况下,您应该能够接受它作为一个名称,而不将其视为SQL。您的解决方案(或任何解决方案)注定会失败。没有什么比拥有一个“无效”的真名更烦人的了。简单的回答是:不要尝试有可能失败的例子吗?我感觉我涵盖了大多数情况。在您的要求中,您声明“名称中的一个空格是可以接受的”。我的名字是“PeeHaa von Trappenhauss Kraftwagen bis Glühwein”,我的名字是Al Salam Bin Laden,或者AlbertÅberg?究竟为什么要限制用户名?检查“有效”名称和阻止SQL注入是两个截然不同的问题。原则上,这个名字没有问题。理想情况下,您应该能够接受它作为一个名称,而不将其视为SQL。。我买了——多少钱?;)谢谢第一个字母不应该总是大写吗?没有像冯这样的名字。。。德,正如基思·汤普森所说,你所有关于名字的概念都是错误的…我更喜欢你的正则表达式而不是我的。。我买了——多少钱?;)谢谢第一个字母不应该总是大写吗?没有像冯这样的名字。。。德,正如基思·汤普森所说,你所有关于名字的概念都是错误的。。。