我的条件...
到现在为止,我准备了正则表达式
^(?=.{2,16}$)([a-zA-Z\d]+)([\s^\-]|[\-^\s]|[a-zA-Z\d]*)([a-z[A-Z\d]+)
它只遗漏了第三点。
测试字符串有效
"test one"
"test 2two"
"test3 three222"
"3test-4four"
无效
"-test"
"test-d f"
您可以将此正则表达式与2个先行条件一起使用:
^(?=(?:[a-zA-Z\d][ -]?){2,16}$)(?=[^\d\n]*\d)[a-zA-Z\d]+(?:[ -][a-zA-Z\d]+)?$
正则表达式演示
PS:请注意,test one
是一个无效的字符串,因为它没有任何数字。
正则表达式详细信息:
^
:开始(? =(?:[a-zA-Z\d][ -]?){ 2,16}$)
:积极前瞻以确保我们有2到16个长度的字母数字字符(?=\D*\d)
:积极前瞻以确保我们至少有一个数字[a-zA-Z\d] (?:[ -][a-zA-Z\d] )?
:匹配任何以字母数字开头,可选后跟单个空格或连字符并以字母数字结尾的测试$
:结束null null 我想在ng-pattern中使用这个regex来检查来自用户的文本输入。
我在Groovy中使用正则表达式。 我试图用以下规则来公式化正则表达式。 必须正好是17个字符 必须只包含字母和数字 必须包含至少1个alpha和1个数字字符 不能包含字母'I'、'O'或'Q'(大写或小写) 用下面的表达,我想我就快到了。下面的正则表达式似乎满足了要求1、2和3。 我曾尝试添加要求4,但没有成功。谁能帮我一下吗? 谢谢
我在SO和web上都发现了很多关于这个主题的变化,但大多数(如果不是全部的话)要求至少一个字母和一个数字。我至少需要一封信。我已经试过了,但还没有成功,我需要的是字符串只包含字母、字母和数字(任意顺序),允许使用破折号和空格,但不能在字符串的开头或结尾。下面是它现在的样子: 如何添加检查是否至少有一个字符? 不管它是在开头还是结尾,或者它和数字之间是否有空格或破折号。只要至少有一个字符。
问题内容: 我想将所有表达式与一个空格完全匹配。目前,我正在使用。但是,这似乎不是一个很好的方法。 问题答案: 为什么不?很好,有点复杂:
要匹配至少包含一个字母或数字的字符串,JavaScript正则表达式是什么?这至少需要一个字母数字字符(至少一个字母或至少一个数字)。
问题内容: 深入研究堆栈溢出后,我发现了一些代码来检查字符串是否为字母数字且长于8个字符。效果很好。现在,如果包含至少2个数字,如何使它返回true?我想我必须在某处添加。 问题答案: 您不需要单独的if条件。单个正则表达式将为您完成所有工作。