php - 如何使用 PHP 将数字格式化为塞尔维亚语格式?
问题描述
我有这样的表格发送的号码:
0641234567
064-123/4567
064/123-4567
3816412345678
它需要是这样的:
+3816412345678
带 +,不带 0,最多 14 个字符,包括“+”。
我如何使用正则表达式解决这个问题?
解决方案
您所需要的只是使用基本上三个规则进行多次替换,
- 替换
-
或/
用空字符串 - 将开头的零替换为
+381
+
如果第一个数字是 1 到 9,则将a放在数字的开头
检查这个PHP 演示,
$arr = ['0641234567','064-123/4567','064/123-4567','3816412345678'];
foreach($arr as $s) {
echo $s." --> ".preg_replace(['/^0/', '/^(?=[1-9])/', '/[-\/]/'], ['+381', '+', ''], $s)."\n";
}
印刷,
0641234567 --> +381641234567
064-123/4567 --> +381641234567
064/123-4567 --> +381641234567
3816412345678 --> +3816412345678
让我知道您的任何案件是否被发现。
推荐阅读
- python - 我怎样才能找到这个值?
- octobercms - 如何从插入查询中删除`created_at`、`updated_at`(创建模型记录时)?
- python - 使用没有 .value 属性的枚举值
- javascript - 如何使用 JavaScript 更改段落文本,具体取决于表单中选中的单选按钮?
- python - Pycharm(JetBrains)无法修改我的macbook上的只读目录
- javascript - 重新加载以显示新保存的记录时,数据表未正确重新初始化
- angular - 从其他本地计算机或手机连接到我的 APP。Angular 和 MongoDB
- indexing - SQL Server 中的过程缺少索引详细信息
- php - Laravel 为客人使用默认电子邮件确认
- elasticsearch - 带有 willcard 和转义字符的弹性搜索查询