首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript中的每4个字符之后添加句号,但不要在字符串的末尾添加

问在Javascript中的每4个字符之后添加句号,但不要在字符串的末尾添加
EN

Stack Overflow用户
提问于 2013-12-10 10:39:42
回答 4查看 1.2K关注 0票数 1

我正在尝试编写一些js,这将允许我删除字符串中的任何冒号和破折号,然后在每4个字符之后添加一个句号,而不是在字符串的末尾添加句号。

例如,xx:xx-xx-xx-xx:xx就会变成xxxx.xxxx.xxxx

我在js方面不是最棒的,但我已经编写了一些代码,可以去掉冒号和破折号,但我现在有点坚持添加句号了。到目前为止,我拥有的是THis:

代码语言:javascript
复制
<form>
Input: <input type="text" id="mac" name="macAddress">

<button onclick="convert(); return false;">Convert</button>

    <div id="outputDiv"></div>

</form>


<script type="text/javascript">

function convert() {

        var mac = document.getElementById('mac').value;
        var mac2 = mac.replace(/\:|-/g,"");

        document.getElementById("outputDiv").innerHTML= mac2;

};


</script>

我看了一下类似的话题,我发现我也许能把一些东西放在一起来增加句号,但我不知道如何阻止它在字符串的末尾添加一个。如果有人能给我指明正确的方向,我会非常感激的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-10 10:49:33

试一试

代码语言:javascript
复制
mac2 = mac2.replace(/(.{4})(?!$)/g , '$1.');

(. {4} ) .(点)是任何字符,{4}表示任何字符的精确4倍

(?!$)是不匹配的断言,后面跟着$,其中$是结束的。

/./g使用g使其成为全局替换

$1是第一个()中内容的反向引用。

票数 2
EN

Stack Overflow用户

发布于 2013-12-10 10:45:46

您可以使用负前瞻来避免将点放在字符串的末尾:

代码语言:javascript
复制
"xx:xx-xx-xx-xx:xx".replace(/[:-]/g,"").replace(/(.{4})(?!$)/g, "$1.")
// xxxx.xxxx.xxxx
票数 1
EN

Stack Overflow用户

发布于 2013-12-10 10:47:51

试一试:

代码语言:javascript
复制
function convert(mac) {
    mac = mac.replace(/\:|-/g,"");
    mac = mac.replace(/(....)(?!$)/g, "$1.");
    console.log(mac);

    return mac;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20492195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档