文字チェック


クライアントサイドで入力項目のチェックをする際に使います。

空フォームチェック


function check1()
{
 c=document.form1.フォーム項目名.value;
 if(c.length==0)
 {
  alert('何も入力されていません');
  document.form1.フォーム項目名.focus();
  return;
 }
}
 

フォームに何も入力されていなければ、警告文がでます。

数値か文字かチェック


function check2()
{
 txt = document.form1.フォーム項目名.value;
  for (i=0; i<txt.length; i++)
 {
  c = txt.charAt(i);
  if ("0123456789".indexOf(c,0) < 0)
  {
   alert("数値以外が含まれてます");
   document.form1.フォーム項目名.focus();
   return;
  }
 }
}
 

フォームに数値だけを入れさせたい場合使用します。

数値が正かチェック


function check3()
{
 if(document.form1.フォーム項目名.value){
  c=parseInt(document.form1.フォーム項目名.value);
  if(c<0){
   alert('入力された数値が不正です');
   document.form1.フォーム項目名.focus();
   return;
  }
 }
}
 

フォームに入力された数値が0以下の場合警告します。

全半角チェック


function byteCheck(bcStr)
{
 ankFlg=0;
 dblFlg=0;
 for (j=0;j<=bcStr.length-1;j++) {
  if (escape(bcStr.charAt(j)).length>3)
   dblFlg++;
  else
   ankFlg++;
 }
 if (dblFlg>0) {
  if (ankFlg>0)
   ret = -1 * ankFlg;
  else
   ret = 1;
 } else {
  ret = 0;
 }
 return ret;
}
 
function check4()
{
 c=document.form1.フォーム項目名.value;
 if(byteCheck(c)!=0) ------------------------A
 {
  alert('半角で入力してください');
  document.form1.フォーム項目名.focus();
  return;
  }
}
 

入力された値が全角の場合、警告。
逆に、半角で入力した場合エラーを出すには、Aの部分を

if(byteCheck(c)==0)
にして、警告文を直せばいい。


使用例 サンプルはこちら    (半角数字以外で入力すると警告)
<html>
<head>
<title>スカトロネットセカンド</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language='javascript'>
<!--
function byteCheck(bcStr)
{
 ankFlg=0;
 dblFlg=0;
 for (j=0;j<=bcStr.length-1;j++) {
  if (escape(bcStr.charAt(j)).length>3)
   dblFlg++;
  else
   ankFlg++;
 }
 if (dblFlg>0) {
  if (ankFlg>0)
   ret = -1 * ankFlg;
  else
   ret = 1;
 } else {
  ret = 0;
 }
 return ret;
}  
function SubmitForm()
{
 //空フォームチェック
 c=document.form1.test.value;
 if(c.length==0)
 {
  alert('何も入力されていません');
  document.form1.test.focus();
 return;
 }
 //全半角チェック
 c=document.form1.test.value;
 if(byteCheck(c)!=0)
 {
  alert('半角で入力してください');
  document.form1.test.focus();
  return;
 }
 //数値か文字かチェック
 txt = document.form1.test.value;
 for (i=0; i<txt.length; i++)
 {
  c = txt.charAt(i);
  if ("0123456789".indexOf(c,0) < 0)
  {
   alert("数値以外が含まれてます");
   document.form1.test.focus();
   return;
  }
 }
 //数値が正かチェック
 if(document.form1.test.value){
  c=parseInt(document.form1.test.value);
  if(c<0){
   alert('入力された数値が不正です');
   document.form1.test.focus();
   return;
  }
 }
 document.form1.submit();
}
-->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0">
<form name="form1" method="post" action="">
 <input type="text" name="test">
 <input type="button" name="chk" value="チェック" onClick="SubmitForm();">
</form>
</body>
</html>