javascript - 格式化电话号码,包括 html 标签
问题描述
我收到一个电话号码,其中包含<strong> </strong>
HTML 标签。我想将该电话号码格式化为这种格式,(xxx) xxx-xxxx
包括 HTML 标记。
例如
"7096<strong>95</strong>8048"
进入:
(709) 6<strong>95-</strong>8048
解决方案
还有其他特殊情况吗?
var x, r;
x = "7096<strong>95</strong>8048";
r = x.replace(
/(^\d.*?\d.*?\d)|(<strong>)(.*?)(<\/strong>)/ig,
function (m, p1,p2,p3,p4) {
if (p1) return `(${p1}) `;
else return p2+p3+"-"+p4;
}
)
console.log(r);
在上面的代码中,不管用户输入什么,用户也可以输入其他的数字。例子
x = "9he3983<STrong>hello367</sTrong>478";
将会
"(9he39) 83<STrong>hello368-</sTrong>478"
如果不允许非数字。在第 1 组中,删除.*?
; 在第 3 组中,替换.*?
为\d+
.
编辑:
当我在线尝试正则表达式时,那是无法使用的功能。我对此有替代品。
var x, r;
x = "7096<strong>95</strong>8048";
r = x.replace(
/(^\d.*?\d.*?\d)(.*?)(<strong>)(.*?)(<\/strong>)/ig,
"($1) $2$3$4-$5"
)
console.log(r);
推荐阅读
- asp.net - 在编辑按钮上单击网格视图中的一行在文本框中显示网格数据
- episerver - 仅在实时 - 通配符自定义重定向不起作用(BVN 404 处理程序)
- webhooks - 如何将包含以下数据的字符串发送到下一个 Slack Incoming Webhook
- javascript - 使用 Pentaho 比较不同 csv 中的一个文件
- for-loop - Foreach 仅包装最后一个元素
- zeromq - 使用 zmsg_send 发送消息 3 次后未到达
- r - 为什么可以运行块但在 r-markdown 中编织时出现错误?
- ruby-on-rails - Rails:“调用私有方法‘require’#
我有一个包含需要存储在数据库中的数据的文本文件。
在 Rails 控制器动作中,我有这样的事情:
class ImportDataController < Applicati
- python - 将文本文件中的数据读入字典
- ios - 带有“禁用 PIE”/i386 拱门的 Gomobile 绑定生成库