[英]Regular Expression With String Contain Digit With WildCard/Min,MaxLength In Javascript
我是JavaScript正则表达式的新手。 目前,我正在尝试在可能包含数字的字符串上创建一个正则表达式。
场景如下:<
字符串可以在*
之前或之后或两者之间都包含*
,但不能在中间包含*
。
字符串长度至少为2个字符,最大为12个字符(不包括*
)。
输入字符串示例:
AB1542378522
AC6546457869
OA6546457869
其他有效的字符串是:
*154*
*C6*
AB*
AB154237*
*2378522
*C654645
*645
*AB*
*AC6546457869*
OA*
无效的字符串:
*15*4
*15*4*
*A*B15*42*37*
仅支持*
通配符,输入中不允许其他特殊字符。 例如,在上面的输入字符串AB
, AC
和OA
中,前两个字符是有效的,但AA
, AX
, OS
...则不是有效的,那么它将最多跟随10个数字。
我无法创建涵盖上述用例的正则表达式。 如果没有其他分支,我的代码将变得筋疲力尽。 如果我找到任何答案,我会在评论中发布。 如有任何疑问,请发表评论。
尝试使用此模式:
/^\*?(?=[^*]{2})[A-Z]{0,2}[0-9]{0,10}\*?$/
模式说明:
^ begining of the string
\*? optional *
(?=[^*]{2}) check if at least 2 characters that are not * follows
[A-Z]{0,2} between zero and 2 letters
[0-9]{0,10} between zero and 10 digits
\*? optional *
$ end of the string
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.