Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

368
Visualizações
Cómo usar la máscara de entrada en Javascript para Mac ID y número de teléfono

Quiero filtrar los números de teléfono y la identificación de Mac desde un campo de entrada... si la cadena comienza con '00', coloque dos puntos después de cada dos números enteros con caracteres y si comienza con cualquier otro número, no coloque dos puntos después de dos números. ...

 var dynamicMask = new IMask(document.getElementById('user'), { mask: [{ mask: '0*:**:**:**:**:**' }, { mask: /^\S*@?\S*$/ } ] }) <script src="https://unpkg.com/imask"></script> <div class="form-group"> <label>Mac id or phone</label> <input type="text" class="form-control" name="user" id="user" placeholder="Enter ..." /> </div>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es un poco complicado permitir múltiples formatos dependiendo de los valores. Los números de teléfono no tienen un estándar real (excepto los números iniciales de 00 o + para internacional, 0 para nacional y 1-9 para proveedor/ubicación al principio) y también pueden tener una longitud de 12 y apenas dependen del país/proveedor/ ubicación del objetivo.

Sugiero usar dos campos de entrada diferentes en lugar de dos formaciones según la longitud/valor de entrada.

Pero algo como esto lo hará:

 <input type="text" id="user"> <script> /* * This allows: @0123456789af, @01:23:45:67:89:af and 01:23:45:67:89:af threaded as mac address any other input like: 00:00:00:00:00 or 01:23:45:67:89:az handled as phone number (removes any non numeric value on focusout) */ IMask(user, { mask: /[@:0-9a-f]/gi, // allow anything prepare(char) { // allow only @, :, 0-9 and af for input // this allows: @[a-f0-9]{12} values to be entered or 00:00:00:00:00:00... return char.replace(/[^@:0-9a-f]/i, ''); }, commit(value, masked) { // leading @ will be removed // check if it contains already a : and has a length of 6 sets with 2 byte length each if (value.split(':').length == 6 && value.split(':').every(p => p.length == 2) && !value.startsWith('@')) { // add an @ leading for the text below value = '@' + value; } value = value.replace(/:/g, ''); const dummy = document.createElement("input"); // required else call for IMask() on dummy won't work document.body.appendChild(dummy); dummy.setAttribute("value", value.startsWith('@') ? value.substr(1) : value); // length must be 12 and should not start with 00 if (/^@[0-9a-f]{12}$/i.test(value)) { // remove the leading @ that was added before or by the user and add : formation masked._value = IMask(dummy, { mask: '**:**:**:**:**:**' })._value; } else { // filter only numbers masked._value = IMask(dummy, { mask: /.*/, prepare(str) { return str.replace(/[^0-9]/, ''); } })._value; } dummy.remove(); } }); </script>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda