如何检查单个输入文本框的多个值? [英] How to check single input text box for multiple values?

查看:159
本文介绍了如何检查单个输入文本框的多个值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个网站,用户可以检查奖债券号码,并且我也了解了一些关于php的内容,所以我在html中创建了一个表单:

 <形式> 
输入价格债券编号< input type =textname =number>< br>
< input type =submitvalue =试试你的运气>
< / form>

现在在php中,我想检查它是单个数字,范围数还是逗号分隔数字,例如:

  1023342 
1023342-10233100
1023342,1023343,1023344,1023345

我想根据用户输入的内容采取不同的操作。

if(ctype_digit($ number)){
// case1:简单数字
返回1; $(

if(preg_match('/(\ d) - (\d)/',$ number,$ out)){
// Case2:range
//我们需要检查范围是否有效
if($ out [1]> = $ out [2]){
// echo'error:范围中的第一个数字应该少于第二个数字;
返回false;
}
return 2;
}
if(preg_match('/ \ d +(,\ d +)+ /',$ number,$ out)){
// Case3:逗号分隔
返回3;
}
返回false;

$ b $ //使用
if(check_input($ number)== 1){
//做某事
}


I want to create a site where users can check prize bond numbers, and I know a bit about php as well, so I created a form in html:

<form>
    Enter your price bond number <input type="text" name="number"><br>
    <input type="submit" value="try your luck">
</form>

Now in php, I want to check if it's a single number, range number, or comma-separated number, e.g.:

1023342
1023342-10233100
1023342,1023343,1023344,1023345

I want to take different actions based on what user entered.

解决方案

function check_input($number){
  if(ctype_digit($number)){
   //case1: simple number
   return 1;
  }
  if(preg_match('/(\d)-(\d)/', $number, $out)){
   //Case2: range
   //we need to check if the range is valid or not
   if($out[1] >= $out[2]){
    //echo 'error: the first number in range should be lessthan second number';
    return false;
   }
   return 2;
  }
  if(preg_match('/\d+(,\d+)+/', $number, $out)){
   //Case3: comma seperated
   return 3;
  }
  return false;
}

//usage
if(check_input($number) == 1){
  //do something
}

这篇关于如何检查单个输入文本框的多个值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆