Javascript 正在尝试匹配名字标题。。或不匹配,视情况而定

Javascript 正在尝试匹配名字标题。。或不匹配,视情况而定,javascript,regex,jquery-validate,Javascript,Regex,Jquery Validate,如果有人在我设置的输入框中输入标题,我尝试返回不匹配项 到目前为止,我得到的是: ^\s*(?!Dr|Mr|Mrs|Miss|Ms).*?$ 这个很好用,除了它不匹配“Drake”、“Missy”甚至匹配“Dr.Dennis” 或者“丹尼斯博士”。。我知道在人的头衔上进行反向匹配会更容易,但我必须重写我们的整个Validation规则,因为所有其他人都返回匹配项,而非匹配项则会出错 有人知道我该怎么做吗?你可以像这样在消极展望中添加一个词边界 ^\s*(?!(?:Dr|Mr|Mrs|Miss|

如果有人在我设置的输入框中输入标题,我尝试返回不匹配项

到目前为止,我得到的是:

^\s*(?!Dr|Mr|Mrs|Miss|Ms).*?$
这个很好用,除了它不匹配“Drake”、“Missy”甚至匹配“Dr.Dennis” 或者“丹尼斯博士”。。我知道在人的头衔上进行反向匹配会更容易,但我必须重写我们的整个Validation规则,因为所有其他人都返回匹配项,而非匹配项则会出错


有人知道我该怎么做吗?

你可以像这样在消极展望中添加一个词边界

^\s*(?!(?:Dr|Mr|Mrs|Miss|Ms)\b).*?$
看到了吗

希望我理解正确。这个单词边界确保你的标题后面有一个非单词字符,这样它就不会忽略像Drake这样的东西


(?:)
是一个非捕获组,这意味着列表中的内容不会像普通组那样放入变量中。

啊。。非常感谢。回答得很好,解释得很好。。我完全理解你做了什么以及为什么。。我已经忘了邦德里斯。。