ユーザーがSSN番号を挿入するテキストボックスがあります。ユーザーはTexBox
「default value as 'XX-XX-'
XX-XX-」の後に4桁の数字のみを入力します。私はjavascriptを持っていますが、彼がTabキーを押すと、TexBox
「XX-XX-」のテキストが選択され、選択したすべてのテキストがフラッシュされます。「XX-XX-」の後にのみ入力するように制限したいのですが、eg: XX-XX-1234
どうすればよいですか?
.aspxページ:
<asp:TextBox ID="txtInsuredSSN" runat="server" Text="XX-XX-" MaxLength="10" onkeydown="return validateSSN(event);" />
Javascript:
function validateSSN(key) {
//getting key code of pressed key
var keycode = (key.which) ? key.which : key.keyCode;
var phn = document.getElementById('<%#txtInsuredSSN.ClientID %>');
if (phn.selectionStart < 6)
return false;
//comparing pressed keycodes
if ((keycode < 48 || keycode > 57)) {
if ((keycode > 95 && keycode < 106) && phn.value.length < 10)//if num lock is on
{
return true;
}
else if (keycode = 8 && phn.value.length > 6) { //check for backspace
return true;
}
else {
return false;
}
}
else {
//Condition to check textbox contains ten numbers or not
if (phn.value.length < 10) {
return true;
}
else {
return false;
}
}
}
Plzは解決策を提案しますか?