新しく質問する

テキストボックスの制限

役に立った:0件
  • 質問者:sunny65
  • 投稿日時:2004/10/04 18:40
  • 困り度:困ってます

いつもありがとうございます。
テキストボックスがあって、最大20文字しか入らないように制限をしています。
Formで次の画面へ飛ばす時、条件として

* 小文字のカタカナは全角のカタカナに
* 「ー」は「-」

にしたいです。
しかも3文字しかテキストボックスに入らなければ、残りの17文字は空白にして20文字の文字としておくりたいです。
このとき、どう書けばよいか教えて下さい。

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:0件)
  • 参考になった:0件

No.2ベストアンサー10pt

半角全角の変換こういうのはどうでしょうか。
半角カタカナの回答できないようなので全角になってますが。

function HanZenChange(){
var str = document.form.text.value;
 //ここは半角カタカナの配列です
var han = new Array("ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ","ス","セ","ソ",
"タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ",
"マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン",
"ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
"ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ",
"ポ","ヲ","ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー");
var zen = new Array("ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ",
"ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ",
"ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ",
"ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン","ガ","ギ","グ",
"ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ","ヅ","デ","ド",
"バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ",
"ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー");

while(str.match(/[ヲ-ン]/)){ //ここも半角です
for(var i = 0; i < han.length; i++){
str = str.replace(han[i], zen[i]);
}
}
document.form.text.value = str;
}

通報する

この回答へのお礼

ありがとうございます。
大変参考になりました。
お礼が遅くなり申し訳ありません。

  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:BLUEPIXY
  • 回答日時:2004/10/04 19:56

<form … onsubmit="convert()">
として
function convert(){
str=form1.text1.value;
str=str.replace(/ー/g,"-");
form1.text1.value=str;
return true;
}
の様な感じで置換をします。
半角カナから全角カナへ一発でうまくやる方法はちょっと思いつきません。
同じように、地道にやるしかないと思います。
20文字に統一するには、
str=str+" …20個の全角スペース… ";
str=str.substring(0,20-1);
してやればいいです。

通報する

この回答へのお礼

ありがとうございます。
大変参考になりました。
お礼が遅くなり申し訳ありません。

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ