此JavaScript正则表达式检查某人是否输入了有效的用户名:
var regexp = "/^[a-z]([0-9a-z])+$/i";
if(!regexp.test(name))
return "Name may consist of letter, numbers and start with a letter." );
但我想检查此人是否输入了有效名称。
换句话说:
Cher Michael Jackson Mary J. Blige François Truffaut
我想不出任何除了字母之外的任何事情,也许某个时期对某个人的名字有效。
我想拒绝任何其他类型的标点符号作为验证错误。
但我想确保,例如,François Truffaut
不会被拒绝,因为他有法国人使用的字母c的有趣版本。
我如何在Javascript正则表达式
中执行此操作答案 0 :(得分:4)
为什么不试着仅仅禁用名称中不需要的标点符号,可能是较短的列表。
var regexp = "/^[\\\/$&^!@#%*~\?\[\]=\_\(\)]/"
这可能不是一个完整的清单,但它应该是一个简短的清单。这些似乎是最合理的IMO。
答案 1 :(得分:1)
试试[\d\w.]+
。它应该照顾那些有趣的法国人物。在线测试here(这是红宝石,但它几乎相同)。
[\d\w.][\d\w. ]*[\d\w.]
将采用全名,包括中间可能的空格。但是将名称长度限制为两个。但它应该没问题。
答案 2 :(得分:-1)
对名称强制执行字符限制是一个坏主意。