ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
jQuery で入力制限プラグイン
日時: 2013/03/01 11:51
名前: lightbox



  



<input class="numField" type="text" />
<input class="numField" type="text" />
<input class="numField" type="text" />

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">

$.fn.extend({ 
	numField: function(){
		$(this).bind('keydown', function(evt) {
			// 数字( 0〜9 )
			if ( 48 <= evt.keyCode && evt.keyCode <= 57 ) {
				return;
			}
			// テンキー( 0〜9 )
			if ( 96 <= evt.keyCode && evt.keyCode <= 105 ) {
				return;
			}
			// 矢印
			if ( 37 <= evt.keyCode && evt.keyCode <= 40 ) {
				return;
			}
			// DEL
			if ( evt.keyCode == 46 ) {
				return;
			}
			// タブ
			if ( evt.keyCode == 9 ) {
				return;
			}
			// バックスペース
			if ( evt.keyCode == 8 ) {
				return;
			}
			if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
				try{evt.returnValue = false;}catch(ex){}
			}
			try{evt.preventDefault();}catch(ex){}
		});
		return this;
	}  
});

// プラグインの実行
$(".numField").numField()
 .css("background-color", "#e0e0ff")
 .css("width","70px")
 .attr("maxlength",6);

</script>
メンテナンス

指定した文字のみ入力可能 ( No.1 )
日時: 2013/03/01 11:27
名前: lightbox


日時: 2013/03/01 11:27
名前: lightbox
   
 

<input class="numField" type="text" />
<input class="numField" type="text" />
<input class="numField" type="text" />

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">

$.fn.extend({ 
	allowField: function(str){
		$(this).attr("allowstr",str);
		$(this).bind('keypress', function(evt) {
			if ( evt.charCode != 0 ) {
				var allowstr = $(this).attr("allowstr");
				var nowstr = String.fromCharCode( evt.charCode );
				if ( allowstr.indexOf(nowstr) >= 0 ) {
					return;
				}
			
				if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
					try{evt.returnValue = false;}catch(ex){};
				}
				try{evt.preventDefault();}catch(ex){};
			}
		}).bind('keydown', function(evt) {
			// 漢字
			// IE9 と Chrome と Safari は拒否できるが、Chrome は漢字モードにはなってしまうので
			// 漢字モードを抜けないと何も入力できなくなる
			if ( evt.keyCode == 229 ) {
				if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
					try{evt.returnValue = false;}catch(ex){}
				}
				try{evt.preventDefault();}catch(ex){}
			}
		});
		return this;
	}  
});

// プラグインの実行
$(".numField").allowField("1234567890ABCDEFabcdef-")
 .css("background-color", "#e0e0ff")
 .css("width","70px")
 .attr("maxlength",6);

</script>
このアーティクルの参照用URLをクリップボードにコピー メンテナンス