在html页面中我有这个输入:
<input type="text" name="my_input" id="my_input">
使用PHP,如果用户在输入中输入“sun”,“moon”,“stars”这两个词,我希望脚本能够做到。
像这样的东西,只是不知道如何写得正确:
if (my_input.value == "sun,moon,stars") {
do stuff
}
非常感谢!
答案 0 :(得分:7)
if( in_array($_POST['my_input'], array("sun", "moon", "stars")) ) {
//Do stuff
}
答案 1 :(得分:4)
有几种方法可以实现这一目标。有些人比我更好,我个人更喜欢in_array
in_array
if (in_array($value, array("sun", "moon", "stars"))) {
// Do something
}
如果声明
if ($value == "sun" || $value == "moon" || $value == "stars") {
// Do something
}
切换
switch ($value) {
case "sun":
case "moon":
case "stars":
// Do something
break;
}
请注意,您可以通过更多方式实现此目标。以上只是几个。
答案 2 :(得分:1)
这很容易 您可以通过post方法获取文本字段的值:
<input type="text" name="my_input" id="my_input">
if ($_POST['my_input'] == "sun" || $_POST['my_input'] == "moon" || $_POST['my_input'] == "stars" ) {
do stuff
}
或者您可以使用in_array函数。
答案 3 :(得分:1)
或者你可以使用php preg_match()
:
if(preg_match("/^(sun|moon|stars)$/i", $_POST['my_input']) === 1) {
// success
}
答案 4 :(得分:1)
虽然这是用php标记的,但你的示例代码看起来像javascript,所以这里是一个javascript解决方案:
<input type="text" name="my_input" id="my_input" onblur="doStuff(this.value);">
<script>
function doStuff(val){
if(["sun", "moon", "stars"].indexOf(val)!= -1){
alert("found");
}
}
</script>