gpt4 book ai didi

电话号码中的Javascript破折号

转载 作者:可可西里 更新时间:2023-11-01 02:31:55 24 4
gpt4 key购买 nike

我试图研究这个问题的答案,但我迷路了。我正在尝试制作一个自动在电话号码中添加破折号的搜索栏。我已经解决了。

下一部分是具有挑战性的部分。我怎样才能让它始终执行 XXX-XXX-XXXX,即使粘贴的字符类似于 555 555 1212 或 555---555-1212,它只会卷回数字并输出 55​​5-555-1212。它不应将空格或额外的破折号计为一个字符。

我找到了:http://www.jotform.com/answers/15202-can-I-add-script-to-my-form-that-will-automatically-add-hyphens-in-between-the-3-digit-area-code-and-also-the-3-digit-prefix

我稍微修改了一下,添加了:

<SCRIPT LANGUAGE="JavaScript">
function addDashes(f)
{
f.value = f.value.slice(0,3)+"-"+f.value.slice(3,6)+"-"+f.value.slice(6,15);
}
</SCRIPT>


<input id="input_4" class="form-textbox" maxlength="15" name="atn" size="25" onBlur='addDashes(this)' />

目前,这仅在用户输入 5555555555 并自动将其转换为 555-555-5555 时有效。我想弄清楚如何将 5-55555-5555 之类的东西变成 555-555-5555。目前,它是 5-5-555-5-5555。

看到我的困境了吗?哈哈。它不能是 php 或任何服务器端脚本,因为它必须能够在桌面上运行。


解决方案:

<SCRIPT LANGUAGE="JavaScript">
function addDashes(f)
{
f.value = f.value.replace(/\D/g, '');

f.value = f.value.slice(0,3)+"-"+f.value.slice(3,6)+"-"+f.value.slice(6,15);
}
</SCRIPT>

最佳答案

首先,通过删除所有不是数字的字符来清理您的输入(引用:Regex to replace everything except numbers and a decimal point)

然后,你输入破折号。

function addDashes(f)
{
f_val = f.value.replace(/\D[^\.]/g, "");
f.value = f_val.slice(0,3)+"-"+f_val.slice(3,6)+"-"+f_val.slice(6);
}

关于电话号码中的Javascript破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13093187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com