私はテキストフィールドを持っており、ユーザーはSSN番号を入力します。それ自身を入力する間にそれはフォーマットする必要があります。 TextFieldの変更のように、ディスプレイ自体にこのようにフォーマットする必要があります。999-999-999
番号を入力中にSSNの自動フォーマット
答えて
<input id="ssn"/>
<script type="text/javascript">
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
while (val.length > 3) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
newVal += val;
this.value = newVal;
});
</script>
@kottenatorからスクリプトがほとんどだったが、それは価値に社会保障番号のために必要な000-00-0000のように、その後、すべての3桁の数字の代わりに、3、2を、壊します。
少し編集して意図したとおりに動作するように修正しました。お役に立てれば。
<script type="text/javascript">
$('#ssn1').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
if(val.length > 4) {
this.value = val;
}
if((val.length > 3) && (val.length < 6)) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
if (val.length > 5) {
newVal += val.substr(0, 3) + '-';
newVal += val.substr(3, 2) + '-';
val = val.substr(5);
}
newVal += val;
this.value = newVal.substring(0, 11);
});
</script>
私はそれがあなたが置くことができる文字の数を制限する方法も好きです – Jay
デニスのスクリプトを修正して、jquery要素を少し削除しました。なぜ最初の2つのif節が追加されたのか不明なので、この関数から削除しました。この関数は、underscore.jsを使用するTitanium SDKのリスナーです。しかし、他のJS APIと連携するように変更することができます。
$.usernameField.addEventListener('blur', function(param) {
var inputString = param.value;
if (inputString.length === 9 && _.isNumber(parseInt(inputString, 10))) {
var val = inputString.replace(/\D/g, '');
var outputString = '';
outputString += val.substr(0, 3) + '-';
outputString += val.substr(3, 2) + '-';
val = val.substr(5);
outputString += val;
$.usernameField.value = outputString;
}
});
OPはそのタグにJavaScriptをリストしました。あなたはTitanium SDKとunderscore.jsについて何も知らないかもしれないので、あなたの答えに他のAPIを混在させないようにするべきです –
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
var sizes = [3, 2, 4];
for (var i in sizes) {
if (val.length > sizes[i]) {
newVal += val.substr(0, sizes[i]) + '-';
val = val.substr(sizes[i]);
}
else
break;
}
newVal += val;
this.value = newVal;
});
デニスの答え@しかし、それはセレクタを行うためのjQueryを使用し、OPだけではJavaScript、このポストにjQueryのタグを持っていなかった、ここでは最高でした。ここでは、ソリューションのバニラJSバージョン(またはそれを行う少なくとも1つの方法:)
document.getElementById("ssn").onkeyup = function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
if(val.length > 4) {
this.value = val;
}
if((val.length > 3) && (val.length < 6)) {
newVal += val.substr(0, 3) + '-';
val = val.substr(3);
}
if (val.length > 5) {
newVal += val.substr(0, 3) + '-';
newVal += val.substr(3, 2) + '-';
val = val.substr(5);
}
newVal += val;
this.value = newVal;
};
- 1. Powershellスクリプト自動入力-Port番号
- 2. 入力フィールドの角表示フォーマット番号
- 3. CakePHPの3 - フォーマット番号入力フィールド
- 4. org-modeスプレッドシート内の自動フォーマット番号
- 5. フォーマットは米国の電話番号にフォーマット(###)で入力### - ####
- 6. AndroidとHTML5番号の入力自動送信動作
- 7. 特定のケース番号に自動入力できない
- 8. コピーペーストの電話番号フィールドを自動入力する
- 9. MySQL出力マスキング(電話番号、SSNなどの表示形式)
- 10. SSN番号の正規表現
- 11. HTMLマニュアル自動フォーマットの日付入力
- 12. angularjsディレクティブの変更ngModel入力タイプ番号のフォーマット
- 13. コンマでフォーマット番号への入力タグ用のKnockoutJsバインディング
- 14. 入力タイプ番号の編集テキストの自動候補を無効にする
- 15. マスカラ入力ジャバスクリプト番号国番号
- 16. 自動バージョン番号
- 17. 自動インクリメント番号
- 18. 入力[番号]フィールドを別の入力[番号]フィールドに依存するJQuery
- 19. どのようにバッチで自動的に入力単一文字/番号へ
- 20. Java入力コンソールの入力番号
- 21. データベース番号の自動番号付けまたはカスタム番号
- 22. phpフォーマット番号
- 23. フォーマット番号
- 24. フォーマット番号(パーセント)
- 25. フォーマット番号は
- 26. フォーマット番号
- 27. 列Bの行数に応じた自動入力連続番号列A
- 28. フィボナッチを入力番号
- 29. 入力タイプ= "番号"のjQuery
- 30. R番号入力のプロンプトユーザー
実際には、社会保障番号は '000-00-0000'の形式です。 – ca9163d9