【发布时间】:2023-03-11 16:30:02
【问题描述】:
(XXX) XXX-XXXX xXXXX
我想在输入的每 15 个字符后插入一个 X 符号。我有一个商务电话输入框。当用户输入并达到每 15 个字符时,jQuery 将插入一个连字符 (X)。
例如:(999) 999-9999 x9999
我正在尝试一些代码,我认为我非常接近正确的代码,但我遇到了一些问题。这是我的代码示例;
$(document).delegate('#businessPhone', 'keyup', function(e) {
var Textlength = $(this).val();
console.log(Textlength.length);
if (Textlength.length >= 14) {
//alert("if"+Textlength.length);
$("#businessPhone").mask("(999) 999-9999 x9999");
return false;
} else {
//alert("else"+Textlength.length);
$("#businessPhone").mask("(999) 999-9999");
}
});
如果用户完成输入所有字符,代码可以正常工作。
但问题是如果字符长度达到 14,用户想要删除字符没有删除的字符。
【问题讨论】:
-
在控制台中我得到
TypeError: $(...).mask is not a function你为.mask()函数包含了什么库? -
@sachin-k 如果在html中将maxLength设置为14,那么这里的问题就不会碰了吧?因为他想在每 15 个字符后加一个 X
-
你试过放一个吗?在掩码字符串的开头。 “(999)999-9999?x9999”。你也可以提供一个小提琴吗?
-
只需删除 html 中的“maxlength”属性并在该 jsfiddle 示例中的 if 条件中添加
if ($phone.val().length === 15) { $phone.val($phone.val() + ' x'); }条件
标签: javascript jquery