No.2ベストアンサー
- 回答日時:
即興で書いたのでチェックはいい加減ですがこんな感じでいかがでしょう。
<?php
function chkhankana($chr){
if(isset($chr)&&mb_strlen($chr)==1){
if(mb_convert_kana($chr,'KV')==$chr){
return false;
}else{
return true;
}
}
}
function strcnt($str){
$len= 0;
for($i=0;$i<mb_strlen($str);$i++){
$chr= mb_substr($str,$i,1);
if(chkhankana($chr)){
$len+=1;
}else{
$len+=strlen($chr);
}
}
return $len;
}
?>
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=EUC-JP">
<title>文字列長</title>
</head>
<body>
<form action='<?=$_SERVER['SCRIPT_NAME']?>' method='POST'>
<h4>文字列長(半角英数カナは1byteでカウント)</h4>
<table>
<tr align="center"><th width=80>文字列</th>
<td><input type="text" name="str" size="40" maxlength="20">
<input type="submit" value="Submit"></td></tr>
</table>
</form>
<?php
$str= $_POST['str'];
$len= strcnt($str);
print "入力文字列=[ ".$str." ]<br>\n";
print "文字列長=[ ".$len." ]<br>\n";
if($len>20) print "20 byte Over!!\n";
?>
</body>
</html>
No.3
- 回答日時:
int mb_strwidth(文字列[,エンコーディング])関数を使えば
半角は文字幅1、全角は文字幅を2としてカウントしてくれますが
これじゃだめですか??
No.1
- 回答日時:
以前に同様の質問があったようですね。
ご参考までに
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1422920
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1422920
この回答への補足
ご回答ありがとうございます。
今回考えているのは、
半角カナだけなら、最大20文字まで入力可能で、
全角文字だけなら最大10文字まで入力可能な
形にしたいのです。
1文字ずつ文字を識別していって判断するしかないようですね。
半角カナの場合は1バイトとみなすようなことができればいいんですが。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Word(ワード) Windows11キーボードの調子が悪いので治し方を教えてください。 【症状】 1つ目 キーボードの 5 2022/07/03 14:51
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
半角記号、全角記号を含む正規...
-
記号は半角と全角どちらがよい...
-
文字の入力で横バー上段、中断...
-
全角括弧と全角読点の間隔を狭...
-
VBAで英数字入力チェックしたい。
-
半角数字かどうかの判定
-
全角英数文字が嫌われる理由を...
-
XMLのタグ名の禁則文字
-
Excel2002 一桁数字だけ全角に置換
-
エクセルのCOUNTIFが正しくカウ...
-
特定の文字を簡単な操作で半角...
-
マクロできる方教えてください...
-
ショートメールの文字数
-
PHPでの全角、半角判断について
-
全角、半角、改行コードが混在...
-
ASP.net(C#) CheckBoxListで...
-
エクセルでの漢字、カタカナ、...
-
HTML5の「pattern」属性で前後...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel関数「COUNTIF」で”文字”...
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
エクセルのCOUNTIFが正しくカウ...
-
半角記号、全角記号を含む正規...
-
全角括弧と全角読点の間隔を狭...
-
VBAで英数字入力チェックしたい。
-
全角英数文字が嫌われる理由を...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
Replace関数は文字数の制限ある...
-
文字列中の両丸括弧を取り除くV...
-
携帯電話の相手の電話番号にメ...
-
エクセルでの漢字、カタカナ、...
-
2つ以上の連続する空白文字を除去
-
Excel2002 一桁数字だけ全角に置換
-
VBScriptである文字列に半角文...
-
IT企業の技術屋にとって全角英...
-
特定の文字を簡単な操作で半角...
-
半角文字と全角文字の判別の仕方
おすすめ情報