目前,我正在制作项目的付款方式。现在我根据表单上的选择创建正则表达式。以下是付款方式的代码
<h1>Payment </h1>
<fieldset>
<legend>
<font size="6">Please input your payment information correctly</font>
</legend>
<p>
<form action="" method="post">
<ul>
<li>
Your Reservation Number: <?php echo $reservation_id;?><br>
<input type="hidden" name="reservation_id" value="<?php echo $reservation_id;?>">
<input type="hidden" name="roomtype" value="<?php echo $roomtype;?>">
<input type="hidden" name="num_of_rooms" value="<?php echo $num_of_rooms;?>">
<input type="hidden" name="dor" value="<?php echo $dor;?>">
<input type="hidden" name="dco" value="<?php echo $dco;?>">
<input type="hidden" name="length_of_stay" value="<?php echo $length_of_stay;?>">
</li>
<li>
Bank in From: <br>
<select name="bank_in_from" id="bank_in_from">
<option value="">Select</option>
<option value="Bank A">Bank A</option>
<option value="Bank B">Bank B</option>
<option value="Bank C">Bank C</option>
</select>
</li>
<li>
Account No.: <br>
<input type="text" name="acc_no">
</li>
<li>
Holder Name: <br>
<input type="text" name="holder_name">
</li>
<input type="submit" value="Submit">
<input type="reset" value="Clear" >
<li>
</ul>
案件就像这样
acc no.
表格可以接受acc no.
表格可以接受acc no.
表格可以接受所有帐号显然都是数字,不能与字母或任何特殊字符混合。
代码如何?
答案 0 :(得分:0)
一种令人惊讶的直接处理方法是使用变量来表示您希望使用的不同正则表达式模式。
因此有些东西:
switch($chosen_bank){
case('bankA'):
$appropriate_regex = '\d{12}';
break;
case('bankB'):
$appropriate_regex = '\d{10}';
break;
case('bankC'):
$appropriate_regex = '\d{9}';
break;
}
// then you'll need something like:
$submitted_string = $_POST['submitted_bank_number'];
$pattern = "/$appropriate_regex/";
preg_match($pattern, $submitted_string, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
那将输出:
Array
(
[0] => Array
(
[0] => 1234563820
)
)
因此,您可以使用
获取银行帐号 $target_bank_number = $matches[0][0];
你应该可以从那里拿走它。
首先掌握这些变量,您可以在Calculating values with formulae from user input in PHP看到基本的表单处理示例
正如您指定的动作=&#34;&#34;在您的表单标记中,您将在页面下方包含以下内容以处理用户提交内容:
<?php
if ($_POST){
$php_varA = $_POST['submitted_form_valueA'];
$chosen_bank = $_POST['chosen_bank'];
//here process the input using regular expressions/ database access, etc, etc
}
?>
&GT?;