ホームページ >ウェブフロントエンド >jsチュートリアル >js 量テキスト ボックスの実装 code_form 特殊効果

js 量テキスト ボックスの実装 code_form 特殊効果

WBOY
WBOYオリジナル
2016-05-16 17:56:071056ブラウズ
ケース 1: タブジャンプを実現するために入力します。
テキスト ボックスの onKeyDown イベントに応答して、window.event.keyCode はユーザーがクリックした keyCode を取得します。
(*) keyCode と ASCII は完全に同じではありません。メイン キーボードの 1 と小型キーボードの 1 の ASCII は同じですが、keyCode は異なります。 Enter の keyCode は 13、Tab の keyCode は 9 です。

一部のキーのみを置換できますが、ほとんどのキーは置換できません。権限の問題です。
キーボード コードは ASCII コードとは異なります。
keyCode
8: バックスペースキー
46: 削除
37-40: 方向キー
48-57: 小さなキーボード領域の数字
96-105: メインキーボード領域の数字
110、190: 小キーボード領域およびメインキーボード領域の小数点
189、109: 小キーボード領域およびメインキーボード領域のマイナス記号
13: Enter
9: Tab です。ハンドル フォーカスが次のテキスト ボックスに移動します。
ケース 2: 金額テキスト ボックス
金融関連システムの金額を含むテキスト ボックスには、次の要件があります:
金額テキスト テキスト ボックスを入力するときに中国語の入力方法を使用しないでください
非数値は入力できません
フォーカスがテキスト ボックス内にある場合、テキスト ボックスは左揃えになります。フォーカスがテキスト ボックスから離れると、テキスト ボックスは右揃えになり、1000 分の 1 が表示されます
入力メソッドを無効にします: style="ime-mode:disabled" //FF、IE と互換性あり、Chrome とは互換性なし
不正な値を入力することは禁止されています。これらの値のみを入力できます (k == 9) || (k == 13) || (k==46)||(k==8)| |(k==189)||(k==109)||(k==190)||(k==110) || (k>=48 && k= 96 && k=37 && k貼り付けを無効にする (優れたテスター)、フォーカスオンの場合は千の位なしで左揃え、フォーカスが無い場合は千の位を除いて右揃えとなります。 this.style.textAlign='right'
1000分の1の足し算の方法は注記(*)を参照
========補足============= = =====
(?=exp) は exp の前の位置に一致します。
(?=exp) は、ゼロ幅の正の先読みアサーションとも呼ばれます。これは、式 exp が後でも一致できることを主張します。出現する位置。たとえば、w (?=ingb) は、ing で終わる単語の前の部分 (ing 以外) と一致します。たとえば、「I'm sing while you're dance.」を検索すると、sing と dance が一致します。
================================
コードをコピーします コードは次のとおりです。

function f(){
var txts=document.getElementsByTagName('input'); (var i= 0;i//Enter はタブに変換されます
txts[i].onkeydown=function(){
if(window.event.keyCode= =13){
window.event.keyCode=9;
}
}
txts[i].onpaste=function(){
var usrInput=clipboardData.getData('Text' );
var k;
for(var i=0;ik=usrInput.charCodeAt(i);
// または、貼り付けのみ可能です。 0 ~ 9 の数字。ASCII 文字セットを参照します。
if((k==46) ||(k>=48 && k<=56)){
}else{
return false;
}
}
}
}


千 (練習コード):


function commafy(n)
{
var re=/d{1,3}(?=(d{3}) $)/g; / / は d{3} で終わり、その前に 1 ~ 3 の数字が続く必要がありますが、置換する場合、最後の d{3} 数字は含まれません。 var n1=n.replace(/^(d )((.d )?)$/,function(s,s1,s2){return s1.replace(re,“$&,”) s2;}); 🎜> n1 を返します;
関数 addQianFenWei(txtBox)
{
txtBox.value=commafy(txtBox.value)
}
関数 RemoveQianFenWei(txtBox); {
txtBox.value=txtBox.value.replace(/,/g,"");//replace(',','') が最初の
のみを置換する場合}





コードをコピーします