2016-12-06 56 views
1

我有一个脚本,检查输入字段是否包含一定的标准。检查输入字段在多个标准

如果条件为真,则会在输入字段下提示带有消息的div。

它很好用,但是我怎样才能在脚本中添加更多城市?

如果我这样做OR,例如:('Amsterdam' || 'London'),脚本将不起作用。

任何人都可以帮助我吗?

输入字段

<input type="text" name="city" id="address" onblur="check()" value=""> 

的Javascript

function check() { 
    var name = document.getElementById('address').value; 
    if (name.indexOf('Amsterdam') > -1) { 
     $(".message").html("You get a beer!"); 
     return false; 
    } 
} 

<div class = "message"></div> 
+2

你需要'name.indexOf( '阿姆斯特丹')> -1 || name.indexOf('London')> -1' – Satpal

回答

0

可以使用否则如果。这样你可以为不同的标准提供不同的信息。请看下面。如果要检查多个指标分析,并告诉你可以只用一个消息

if (name.indexOf('Amsterdam') > -1) { 
    $(".message").html("You get a beer!"); 
} else if(name.indexOf('London') > -1) { 
    $(".message").html("Other message!"); 
} else { 
    $(".message").html("Something else!"); 
} 

return false; 

||:

语法

if (condition1) { 
    block of code to be executed if condition1 is true 
} else if (condition2) { 
    block of code to be executed if the condition1 is false and condition2 is true 
} else { 
    block of code to be executed if the condition1 is false and condition2 is false 
} 

Reference

试试这个(或)

if (name.indexOf('Amsterdam') > -1 || name.indexOf('London') > -1) { 
    $(".message").html("You get a beer!"); 
} 
+0

非常感谢!它很棒! –

+0

我很高兴它的工作原理! –

0

试试这个:

if (name.indexOf('Amsterdam') > -1 || name.indexOf('London') > -1) { 
    // your code 
} 
0

如果你不是太在意的表现,你可以使用正则表达式,但它们被认为是慢indexOf()

$('button').on('click', function() { 
 
    var name = document.getElementById('address').value; 
 
    if ((/^(Amsterdam|London|Texas|Delhi|Tokyo)$/i).test(name)) { 
 
    $(".message").html("You get a beer!"); 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="city" id="address" value=""> 
 
<button> 
 
    Submit 
 
</button> 
 
<div class="message"></div>