Php 从包含电话号码的表单字段中删除非数字

Php 从包含电话号码的表单字段中删除非数字,php,forms,Php,Forms,一直在搜索这个论坛,我发现我认为是代码帮助我的情况,但我不知道如何实现它。我在WHMCS(网络托管管理软件)中有一个表单,我想将输入的电话号码转换为数字 例如:最终用户键入(333)444-5555,但表单读取并记录3334445555。同时,我还想在电话号码前加一个“1”。因此,基于上述输入的最终输出将是1.3334445555 我的表格代码(第124行): 这是我在这个网站上找到的代码,我觉得可能对我有帮助 preg_replace("/[^A-Za-z0-9 ]/", '', $strin

一直在搜索这个论坛,我发现我认为是代码帮助我的情况,但我不知道如何实现它。我在WHMCS(网络托管管理软件)中有一个表单,我想将输入的电话号码转换为数字

例如:最终用户键入
(333)444-5555
,但表单读取并记录
3334445555
。同时,我还想在电话号码前加一个“1”。因此,基于上述输入的最终输出将是
1.3334445555

我的表格代码(第124行):

这是我在这个网站上找到的代码,我觉得可能对我有帮助

preg_replace("/[^A-Za-z0-9 ]/", '', $string);
有人能帮我把这些放在一起吗?

这样就可以了:

$phone - '1.' . preg_replace('/\D/', '', $phone);
正则表达式
\D
匹配任何非数字。

这样做:

$phone - '1.' . preg_replace('/\D/', '', $phone);

正则表达式
\D
匹配任何非数字。

下面的代码将根据您的需要工作

<?php
    $str = '(333) 444-5555';
    $numbers = preg_match_all('!\d+!', $str, $matches);
    $numbers = implode('',$matches[0]);
    $required_output = '1.'.$numbers;
    echo $required_output; //output will be "1.3334445555"
?>

下面的代码可以满足您的需要

<?php
    $str = '(333) 444-5555';
    $numbers = preg_match_all('!\d+!', $str, $matches);
    $numbers = implode('',$matches[0]);
    $required_output = '1.'.$numbers;
    echo $required_output; //output will be "1.3334445555"
?>

您可以执行以下操作:

$myPhone = "1." + (filter_var($myInpt, FILTER_SANITIZE_NUMBER_INT));
使用这个函数filter_var(),您可以在一些指定的过滤器中清理变量(请阅读此处了解更多信息:)

所以如果你的输入是

tel4568
函数returm

4568
因此,将其与“1”串联,就得到了所需的字符串

您可以这样做:

$myPhone = "1." + (filter_var($myInpt, FILTER_SANITIZE_NUMBER_INT));
使用这个函数filter_var(),您可以在一些指定的过滤器中清理变量(请阅读此处了解更多信息:)

所以如果你的输入是

tel4568
函数returm

4568

因此,将其与“1”串联,就得到了所需的字符串

如果你认为这个正则表达式可以帮你,为什么不试试呢?如果你不知道它是做什么的,可以查阅正则表达式教程,甚至维基百科。这是一个非常简单的正则表达式,不需要很长时间就能理解这几个表达式的含义。为什么要假设“电话号码在美国?”?当真实的人生活在地球的另一边时,一些可怜的家伙可能会打电话。最好先告诉对方输入正确的电话号码。请不要将电话号码存储为号码。它们不是数字。我不会修改它,除非你正在计划自动拨号,如果是这样,请在拨号前删除字符。如果你认为这个正则表达式可以帮助你,为什么不试试呢?如果你不知道它是做什么的,可以查阅正则表达式教程,甚至维基百科。这是一个非常简单的正则表达式,不需要很长时间就能理解这几个表达式的含义。为什么要假设“电话号码在美国?”?当真实的人生活在地球的另一边时,一些可怜的家伙可能会打电话。最好先告诉对方输入正确的电话号码。请不要将电话号码存储为号码。它们不是数字。我不会修改它,除非你计划自动拨号,如果是这样,请在拨号前删除字符。