フリーエンジニアである下っ端SEの備忘録と日記。日々是精進。 開発言語は主にC#。 開発技術が日々進化し続けている今日、取り残されまいとするも歳のせいか覚えが悪いSE。 ほったらかしですいません。

スポンサーサイト

上記の広告は2週間以上更新のないブログに表示されています。 新しい記事を書くことで広告が消せます。  

Posted by スポンサー広告 at

2010年02月10日

【JavaScript】0埋めしたい 数値の0パディング

1なら01、15なら15のようにJavaScriptで0埋めしたい場合。

C#だったら、PadLeft(totalWidth,paddingChar) で

PadLeft(2,'0')

のようにすればいいけど、JavaScriptとなると何だか面倒臭いな~
と思っていたら、よいサイトがありました。

PCソフト備忘録

上記の例なら

("0" + "数値").slice(-2)

で簡単に0埋めができてしまいます!

アラ、便利。

この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
人気ブログランキングへ
人気ブログランキングへ
  
タグ :JavaScript


Posted by ようすけ at 16:25Comments(2)JavaScript

2009年11月17日

JavaScriptのonchange

前使ってたノートに走り書きしてあったもの。

JavaScriptのonchange(テキストボックスなど)は
「内容に変更があったら」ではなく、
内容に変更があったことが確定したら」イベント発生となる。

よって、文字を打ち込んだだけではイベントは発生せず、フォーカスが移動して
初めて「確定」となり、イベントが発生する。

この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
人気ブログランキングへ
人気ブログランキングへ  
タグ :.NETC#ASP.NET


Posted by ようすけ at 09:00Comments(0)JavaScript

2009年10月05日

【JavaScript】不正な数値かチェックする

Number.NaN
数値ではないこと(Not a Number)を示す特別な値。
比較演算子が使えないので、Number.NaNであるかどうかはisNaN()で判断する。

isNaN(arg1)
arg1がNumber.NaNであるかを判断する(is Not a Number)
数値として判断できないときに「true」
数値として判断できるときに「false」

月(1~12)の入力が正しいか
※タグの半角「<」「>」は表示上、全角に「<」「>」になっている。
<html>
<head>
<title>テスト</title>
<script type="text/javascript">
<!--
function IsMonth()
{
 var objForm = document.forms[0];
 var str = objForm.textbox1.value;
 
 //parseIntは第2引数で10進数の指定をしないと「08」「09」は0になる!
 var month = parseInt(str,10);

 if( isNaN( month ) )
 {
  alert('数値じゃない\n'+'str='+ str + ' , '+'month='+month);
  return;
 }

 if( month < 1 || 12 < month )
 {
  alert('1~12じゃない\n'+'str='+ str + ' , '+'month='+month );
  return;
 }

 alert(month+'月');
}
// -->
</script>
</head>
<body>
<form>
<input type="text" name="textbox1" size="20" style="ime-mode:disabled" maxlength=2 />
<input type="button" value="OK" onclick="IsMonth()">
</form>
</body>
</html>


この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
ブログランキング  
タグ :JavaScriptisNaN


Posted by ようすけ at 09:00Comments(2)JavaScript

2009年09月14日

【Web】JavaScript 半角数字のみ入力させる

Webアプリケーションの開発でブラウザはInternet Exploreを使用してるとします。
あるテキストボックスに数字しか入力できないようにしてほしいということで、
ネットですぐに調べればサンプルソースがたくさん見つかります。

function NumOnlyOK()
{
 var str = String.fromCharCode(event.keyCode);
 if("1234567890\b".indexOf(str, 0) < 0)
 {
  return false;
 }
 return true;
}

<input type="text" name="textbox" size="20" onkeyDown="return NumOnly()" style="ime-mode:disabled" />

こういうのが多いのですが、これって
テンキーからの数字入力が出来なくないですか?

こういうソースを見たことがあります。
function txt_keydown()
{
 if ( event.keyCode==8 || ←バックスペース
   event.keyCode==9 || ←タブキー
   event.keyCode==46 || ←deleteキー
   (37<=event.keyCode && event.keyCode<=40) || ←矢印キー
   event.keyCode==189 || ←マイナス「-」
   event.keyCode==109 || ←テンキーのマイナス「-」

   //数字
   (48<=event.keyCode && event.keyCode<=57) || ←テンキーじゃない方の数字
   (96<=event.keyCode && event.keyCode<=105) ←テンキーの数字
  )
 {
  return true;
 }
 return false;
}

これなら、テンキーからも数字が入力できています。
あくまでIEですけど。


この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
ブログランキング  
タグ :JavaScript


Posted by ようすけ at 09:00Comments(0)JavaScript

2009年08月20日

【Web】JavaScriptのオーバーロード

Web開発開発にまだ慣れてない頃、
C#やJavaの感覚でコーディングしたら
思ったとおり動かなくて。

function Test (arg1)
{
 処理1
}

function Test (arg1,arg2)
{
 処理2
}

function form_Load()
{
 Test (arg1);
 Test (arg1,arg2);
}
としたら、処理1が2回実行されてしまう。
arg2はとりあえず無視されるらしい。


つまり
JavaScriptではオーバーロードはできない。

手っ取り早いのは
メソッド名(ファンクション名?)を違うものにする。(雑っ!)

もっとちゃんとする場合
オーバーロードちっくにコーディングする。

JavaScriptにはargumentsというオブジェクトがあって、
これで関数に渡された引数の数をチェックできるのでそれを利用して、

function Test (arg1,arg2)
{
 if (arguments.length == 1)
 {
  //引数が1つの場合
  処理1
 }
 else if (arguments.length == 2)
 {
  //引数が2つの場合
  処理2
 }
}

これだと、引数をもう1つ増やしたいと思ったら、

function Test (arg1,arg2,arg3)

と修正して、引数が3つの場合の処理を加え、

function form_Load()
{
 Test (arg1);
 Test (arg1,arg2);
 Test (arg1,arg2,arg3); ←これを追加
}

とすれば、処理1~処理3が実行される。

理屈はわかったので
あとは開発者の好みで美しいコーディングすればよいと。

@ITへのリンク


この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
ブログランキング  


Posted by ようすけ at 09:00Comments(0)JavaScript