gpt4 book ai didi

javascript - 如何使用 javascript 屏蔽 HTML 输入?

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:13 25 4
gpt4 key购买 nike

如何在 HTML 控件上使用 javascript 屏蔽美国电话。

我希望输入强制文本采用以下格式:

[(111)111-1111]

这是我目前拥有的:

mask(str, textbox, loc, delim) {
var locs = loc.split(',');
for (var i = 0; i <= locs.length; i++) {
for (var k = 0; k <= str.length; k++)
{
if (k == locs[i]) {
if (str.substring(k, k + 1) != delim) {
str = str.substring(0,k) + delim + str.substring(k,str.length)
}
}
}
}
textbox.value = str
}

最佳答案

对于保证格式的电话号码输入,常见的处理方式有以下三种:

<强>1。无论如何接受所​​有数字输入

数字不明但仍居住在美国的用户的可能性比以往任何时候都高。接受各种数字输入可以缓解这种担忧,因为只有当他们给你的数字不够或错误时,数字才会毫无用处。

<强>2。拆分成三个固定长度的文本框

很多财务软件都这样做。不知道为什么,具体来说,但它似乎很常见。如果他们在文本框上输入了最大限制,建议是在按键后将光标移动到下一个框。此外,这保证您将获得您期望的任何格式的数字,因为您可以将生成的 post 变量附加在一起。

HTML 示例:

<input id="phonePart1" maxlength="3" name="phonePart1"/>
<input id="phonePart2" maxlength="3" name="phonePart2"/>
<input id="phonePart3" maxlength="4" name="phonePart3"/>

和一个小的 jQuery 片段来合并你的格式中的三个:

var phonePart1 = parseInt($("#phonePart1").val(), 10);
var phonePart2 = parseInt($("#phonePart2").val(), 10);
var phonePart3 = parseInt($("#phonePart3").val(), 10);
var phone = "(";

if (isNaN(phonePart1)||isNaN(phonePart2)||isNan(phonePart3)) {

// Incorrect format

} else {

phone = phone + phonePart1 + ")" + phonePart2 + "-" + phonePart3;

}

<强>3。使用正则表达式匹配数字格式

您可以使用正则表达式的组合来匹配多个数字,或者明确地匹配您要询问的数字。这可能是您正在寻找的技术。这是正则表达式:

/\([0-9]{3}\)[0-9]{3}-[0-9]{4}/

你会像这样使用它:

if (yourphonevariable.match(/\([0-9]{3}\)[0-9]{3}-[0-9]{4}/))
{
// it's valid
}

<强>4。如果您希望使用掩码来格式化文本本身......

考虑位于 http://digitalbush.com/projects/masked-input-plugin/ 的 jQuery 插件.用户@John Gietzen 在这篇文章之外向我建议了这个,所以请随意给他点赞。

关于javascript - 如何使用 javascript 屏蔽 HTML 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665792/

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