如何更改此掩码 javascript 函数以避免从零开始?
How change this mask javascript function to avoid start with zero?
拜托,我在哪里可以更改此屏蔽功能以避免用户键入 0(零)作为第一个数字?
这是一个掩码函数,用于将输入格式化为以下格式:
(99) 9999-9999 or (99) 99999-9999
曾经在巴西,celphone 现在有 9 位数字,而正常的 phones 有 8 位数字。但是城市代码(括号内)不能以 0(零)开头,否则会弄乱 phone 数字。
// telefone com 9 digitos
var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options);
}
};
$('#telefone').mask(SPMaskBehavior, spOptions);
如果输入的第一个数字是零...
使用简单的 if
条件很容易检查。
您只需要检查值的第二个字符,第一个是 (
.
如果是零,将其删除...并且,可选择通知用户。
// telefone com 9 digitos
var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
if(field.val()=="(0"){
console.log("NO! No zero to begin.");
field.val(field.val().substr(0,1)); // Removes the 0
}
field.mask(SPMaskBehavior.apply({}, arguments), options);
}
};
$('#telefone').mask(SPMaskBehavior, spOptions);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>
<input id="telefone">
拜托,我在哪里可以更改此屏蔽功能以避免用户键入 0(零)作为第一个数字?
这是一个掩码函数,用于将输入格式化为以下格式:
(99) 9999-9999 or (99) 99999-9999
曾经在巴西,celphone 现在有 9 位数字,而正常的 phones 有 8 位数字。但是城市代码(括号内)不能以 0(零)开头,否则会弄乱 phone 数字。
// telefone com 9 digitos
var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
field.mask(SPMaskBehavior.apply({}, arguments), options);
}
};
$('#telefone').mask(SPMaskBehavior, spOptions);
如果输入的第一个数字是零...
使用简单的 if
条件很容易检查。
您只需要检查值的第二个字符,第一个是 (
.
如果是零,将其删除...并且,可选择通知用户。
// telefone com 9 digitos
var SPMaskBehavior = function (val) {
return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009';
},
spOptions = {
onKeyPress: function(val, e, field, options) {
if(field.val()=="(0"){
console.log("NO! No zero to begin.");
field.val(field.val().substr(0,1)); // Removes the 0
}
field.mask(SPMaskBehavior.apply({}, arguments), options);
}
};
$('#telefone').mask(SPMaskBehavior, spOptions);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>
<input id="telefone">