gpt4 book ai didi

php - 使用正则表达式和 javascript 验证美国电话号码并使用 php 提交

转载 作者:行者123 更新时间:2023-11-29 18:21:09 26 4
gpt4 key购买 nike

<分区>

我想使用 Javascript 中的正则表达式验证一个 10 位美国式电话号码,然后通过 url 将其提交到 PHP 服务器。它将是一个用于输入数字的表单中的简单文本框和一个用于提交的按钮。

例如,经过验证后,url 可能是:

thisdomainname.com/resultspage.php?phonenumber=4392931234

我知道正则表达式的工作原理,但对更复杂的表达式感到困惑。我在 stackoverflow 和互联网上搜索了一个解决方案,找到了几个,但没有一个能完全满足我的需要和/或在我运行它时能正常工作。

我需要它省略所有非数字字符(例如括号、破折号和句点),并且还省略在美国 10 位电话号码中可选的额外前导“1”。

它应该允许(验证为正确)以下格式:

  • 1-(805) xxx-xxxx

  • 215.xxx.xxxx

但拒绝为无效:

  • 805 931 42
  • 805 931 42ab
  • 105 931 4288

理想情况下,它会根据“北美编号计划”允许电话号码,该计划具有以下规则:

"Area codes start with a number from 2–9, followed by 0–8, and then any third digit. The second group of three digits, known as the central office or exchange code, starts with a number from 2–9, followed by any two digits. The final four digits, known as the station code, have no restrictions."

我在下面找到了一个正则表达式来实现它,但我无法让它与可选的前导“1”数字一起使用。

^\(?([2-9][0-8][0-9])\)?[-. ]?([2-9][0-9]{2})[-. ]?([0-9]{4})$

就像我说的,我找到了很多解决这个问题的解决方案,但没有一个适用于我上面概述的所有情况。

提前致谢。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com