文字チェック
クライアントサイドで入力項目のチェックをする際に使います。
空フォームチェック
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>