JS正则表达式 - 全局char数

时间:2015-06-02 19:53:44

标签: javascript regex

我会使用正则表达式来确定允许以下内容的字符串: - 至少2位数; - 至少1个大写字母 - 至少有一个这个字符:!,$,?

我的主要问题是那些字符可以位于任何位置!

例: 1dfA2!好像 11Aw!

实际上,事件必须是全球性的。

编辑:我一步一步地尝试了,但是我的问题与位置有关!

.labels{
    position: relative;
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    font-weight: bold;
    font-family: tahoma;
    padding: 5px;
    color: #fff;
    border-radius: 5px;
    background-color: red;
}

.labels:before{
    display: inline-block;
    vertical-align: top;
    font-size: 12px;
    content: '$';
}

.labels:after{
    display: inline-block;
    vertical-align: top;
    margin-left: 1px;
    font-size: 12px;
    content: 'USD';
}


.arrow{
    position: absolute;
    bottom: -10px;
    left: 20px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid blue;
}

我刚开始使用正则表达式

2 个答案:

答案 0 :(得分:0)

您可以使用以下前瞻断言:

^(?=.*\d.*\d)(?=.*[A-Z])(?=.*[!$?]).*$

请参阅DEMO

答案 1 :(得分:0)

与karthik的解决方案不同,这个解决方案会在同一条线上找到:

/(?:\s|^)(?=(?:[^\s]*?\d){2,})(?=[^\s]*?[A-Z])(?=[^\s]*?[!$?])(.*?)(?=\s|\n|$)/gm

比赛将包含在第1组中。

这假设你感兴趣的东西是用空格分隔的。

演示here