先生,小姐,夫人和女士的正则表达式

时间:2014-09-09 07:35:03

标签: regex

有没有办法可以找到是否输入了这些字符串。我想看看用户是否输入了#34;先生"," Miss"," Mrs"或" Ms"。

我试过/^(Miss|Mr|Mrs|Ms)$/,但无济于事。

上下文是我有一个文本框,用户应该将其标题输入。

我希望用户只输入" Mr"," Miss"," Mrs"," Ms"。如果他们输入任何其他内容,则抛出错误。

4 个答案:

答案 0 :(得分:2)

也许您需要做的就是在最后摆脱$并用\b替换它,这样如果我进入约翰先生'你可以认出来。

示例链接:http://regexr.com/39faa

答案 1 :(得分:1)

正则表达式的更紧凑版本可能是:

/^(M(?:is)?s|(?:Mrs?))/

请查看this demo

正如另一个答案的评论所述,如果搜索字符串也位于字符串的中间位置,则从模式中删除^

答案 2 :(得分:0)

试试这个

\bM(?:rs?|s|iss)\b

Demo

答案 3 :(得分:0)

/^(Mr|Mrs|Mr|Dr|Er)\.[A-Za-z]+$/;

这里^(Mr|Mrs|Mr|Dr|Er)将检查字符串的开头。

\.将在标题后加一个点

然后可以有任何单词或字母,所以可以是单词数组。