Я хочу закодировать требование, где мне нужно, чтобы Маска несколько символов в текстовом поле в jsp.Как маскировать несколько символов в текстовом поле в Jsp
Для примера: Мое текстовое поле принимает 11 цифр в качестве входных данных. Скажите 12345678911
Мне нужно отобразить ***** 678911 на стороне клиента, но необходимо передать 12345678911 на стороне сервера.
Я знаю, что могу использовать скрытое поле, где я могу сохранить значение без маски и отобразить замаскированное значение в TextField.
Но пользователь может использовать клавиши со стрелками или мышь для редактирования 2-го символа после ввода всего, так что логика здесь не работает.
Ниже мой код:
<SCRIPT LANGUAGE="Javascript">
var a = document.getElementById("hiddenText").value;
var val = document.getElementById("repeat").value;
function mask(str,textbox){
var mask;
switch(str.length){
case 1:
this.val = str;
mask = "*";
break;
case 2:
val = val + str.charAt(1);
mask = "**";
break;
case 3:
val = val + str.charAt(2);
mask = "***";
break;
case 4:
val = val + str.charAt(3);
mask = "****";
break;
case 5:
val = val + str.charAt(4);
mask = "*****";
break;
case 6:
val = val + str.charAt(5);
mask = "*****" + val.substring(5,6);
break;
case 7:
val = val + str.charAt(6);
mask = "*****" + val.substring(5,7);
break;
case 8:
val = val + str.charAt(7);
mask = "*****"+ val.substring(5,8);
break;
case 9:
val = val + str.charAt(8);
mask = "*****"+ val.substring(5,9);
break;
case 10:
val = val + str.charAt(9);
mask = "*****"+ val.substring(5,10);
break;
case 11:
val = val + str.charAt(10);
mask = "*****"+ val.substring(5,11);
break;
default:
break;
}
textbox.value = mask;
document.getElementById("repeat").value = val
if (document.getElementById("repeat").value.length > 11){
var h = document.getElementById("repeat").value;
h = h.substring(0,11);
document.getElementById("repeat").value = h;
}
}
</SCRIPT>
Это прекрасно работает, если пользователь вводит значение в один присест, но если он изменяет введенное значение, перемещая курсор с помощью клавиш со стрелками или с помощью мыши, то он терпит неудачу.
Ваша помощь была бы высоко оценена!
Спасибо!
Загляните в [JQuery Mask Plugin] (http://igorescobar.github.io/jQuery-Mask-Plugin/) –
Спасибо за ваш быстрый ответ. Я не очень хорошо понимаю это решение. Но этот псевдодальный код замаскирует все символы в текстовом поле. Тем не менее, я ищу, чтобы замаскировать только 5 символов в текстовом поле. – Abhishek