在php表单中以固定格式输入手机号码

问题描述 投票:0回答:2

我在 php 中有一个小表单,其中有一个手机号码输入字段。目前我输入的手机号码以 09 开头,最多 11 位数字。目前我可以输入总共 11 位数字的电话号码,如果我输入的电话号码少于 11 位,则会成功显示错误消息。但我希望手机号码的输入方式应在前四位数字后有 b - 。然后休息。例如 0900-12345678 下面是我的代码

<form action="action.php">
<label>Mobile No</label>
<input type="text" id="mobno" name="mobno" pattern="09[0-9]{9}" maxlength="11"><br><br>
<input type="submit" value="Submit">
</form>
php forms validation
2个回答
0
投票

我认为改变你的模式:

<input type="text" id="mobno" name="mobno" pattern="03[0-9]{2}-[0-9]{8}" maxlength="13" required>



0
投票

您使用的模式强制手机号码以“09”开头,后跟 9 位数字。但是,这与您想要的格式不匹配(例如,0300-12345678),并且不允许在前四位数字之后包含 -

您需要改用此模式 03[0-9]{2}-[0-9]{8}

  • 03:指定手机号码以“03”开头。
  • [0-9]{2}:正好匹配“03”后的两位数字。
  • "-":前四位数字后需要有连字符。
  • [0-9]{8}:精确匹配连字符后的八位数字。

您应该将最大长度增加到13

<form action="action.php" method="post">
    <label for="mobno">Mobile No</label>
    <input type="text" id="mobno" name="mobno" pattern="03[0-9]{2}-[0-9]{8}" maxlength="13" required>
    <br><br>
    <input type="submit" value="Submit">
</form>
© www.soinside.com 2019 - 2024. All rights reserved.