2017-02-20 7 views
0

Я пытаюсь установить маску ввода, которая позволяет пользователю вводить MAC-адрес, который состоит из шестнадцатеричных символов: 0-9, A-F.Как ограничить диапазон маски ввода шестнадцатеричными символами

Что я получаю до сих пор:

>AA\-AA\-AA\-AA\-AA\-AA 

, но этот формат позволяет ввести все символы алфавита.

Возникает вопрос:

Как ограничить входной диапазон маски с шестигранными символами?

+0

Маска ввода не может этого сделать. Вам понадобится специальный код - возможно, с использованием регулярного выражения. Ищите по этому поводу. – Gustav

+0

@ Густав спасибо! Я знаю, что существует способ без кодирования VB, например, использовать regexp только в атрибуте поля. Жалость. – Banzay

ответ

1

Вы не можете сделать это с помощью Input Mask, но вы можете использовать свойство Validation Rule, показанное ниже. Это позволит им вводить все, что захочет, но не позволит им сохранять данные до тех пор, пока они не соответствуют вашему правилу.

Not Like "*[!((a-f) or (0-9))]*" 
0

Я достиг этого в двух частях:

  1. маска ввода из >"#"AAAAAA;0;_, Это гарантирует, что пользователь может ввести только # (который укажи в), а затем шесть прописных символов.
  2. A Правило проверки из Not Like "#[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-G]", которое обеспечивает поле #, затем шесть символов, которые являются 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E , F.

Это очень хорошо работает для меня и не требует кода VBA.

Смежные вопросы