繁体   English   中英

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

[英]Removing non digits from a form field containing a phone number

在搜索这个论坛时,我发现我认为是可以帮助解决我的情况的代码,但是我不确定如何实现它。 我在WHMCS(网络托管管理软件)中有一个表格,希望将输入的电话号码转换成数字。

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

我的表单代码(第124行): http : //pastebin.com/ngMTiPbA

这是我在本网站上找到的代码,可能对我有帮助。

preg_replace("/[^A-Za-z0-9 ]/", '', $string);

有人可以帮我把这些放在一起吗?

这样做:

$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"
?>

你可以这样做:

$myPhone = "1." + (filter_var($myInpt, FILTER_SANITIZE_NUMBER_INT));

使用此功能filter_var( http://www.php.net/manual/zh/function.filter-var.php ),您可以在某些指定的过滤器中清理变量(有关详细信息,请阅读此处: http:// www。 php.net/manual/en/filter.filters.sanitize.php

因此,如果您输入的是

tel4568

功能革命

4568

因此与“ 1”串联。 您有所需的字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM