如何测试很多条件?

时间:2011-08-03 12:29:48

标签: javascript regex

如何强制section成为asdalgsysdatasimse

如果我使用下面的正则表达式,则允许datadfghdg

if (section == '') {
    alert('Section is required');
} else if (!(/asd|alg|sys|data|img|se/.test(section))) {
    alert('Section must be one of: asd alg sys data img se');
} else {
    is_okay = 1;
}

4 个答案:

答案 0 :(得分:4)

您可以分别使用^和^ $`强制字符串位于开头和正则表达式中:

if( !(/^(asd|alg|sys|data|img|se)$/.test(section)) )
    ...

或者您也可以使用in来实现此目的:

if( section in { 'asd':'','alg':'', ... } )
    ...

答案 1 :(得分:3)

您需要在开头添加^,在正则表达式的末尾添加$。

/ ^(ASD | ALG | SYS |数据| IMG | SE)$ /

答案 2 :(得分:1)

尝试使用/ ^(asd | alg | sys | data | img | se)$ /。

答案 3 :(得分:1)

使用正则表达式/^(asd|alg|sys|data|img|se)$/