• ベストアンサー

データを書き込む際、全角数値を半角で登録するには

ASPにおいてSQL-SERVERにデータを書き込む際に全角数値だったら半角数値になおして書き込むことは可能でしょうか?? 例:1234→1234 もし可能ならばご教授お願いします!!!よろしくお願いします!!! ちなみに理由はHTMLフォーム上で電話番号等数値入力のコントロールで全角で入力してしまうことがある為、対応として全角を半角で登録ってことになりました・・・。現在はバイト数で半角全角チェックを行っていますが、このチェックはなくすことになります。。。だれか助けてください。。。IMEの制御は行っていません。サーバはWINDOWS2000、処理ブラウザはIE、DBはSQL-SERVER2000を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • cookei
  • ベストアンサー率33% (4/12)
回答No.3

VBだと、StrConvという変換関数が存在するのですが、ASPにはそれがないので、関数を作るしかないと思います。 こんなサンプルソース&解説のページを見つけましたので、ご参考にしてください。

参考URL:
http://www.dolphinnetservice.ne.jp/AcrobatASP/1.asp

その他の回答 (2)

回答No.2

hequilさんが書かれたようにBASP21を使う方法がありますが、 BASP21をインストール出来ない場合もありますよね。 数字は10個しかないので str = "1234" str = Replace(str,"0","0") str = Replace(str,"1","1")      ・      ・ str = Replace(str,"9","9") と1つずつ変換をかけてあげるのも手です。 また、「数字だけの文字列」ならばこれでも出来ます。 str = Cint(str) 多分正式な使い方じゃないので動作保障は出来ませんが…

  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

BASP21が使えるのなら、strConvで変換できます。 DIm objBasp Dim strZen Dim strHan strZen = Request.Form("tel") Set objBasp = Server.CreateObject("basp21") strHan = objBasp.StrConv(strZen, 8) Set objBasp = Nothing

参考URL:
http://www.hi-ho.ne.jp/babaq/basp21.html#0022

関連するQ&A

  • 半角全角が切り替わらない

    ニコニコ動画で動画や生放送で文字を書くときに、空白で全角半角ボタンを切り替えようとすると IMEのボックスが消えて半角の英数字しか書くことができません。 ブラウザはグーグルクロムなんですが、URL等を入力するボックスでは半角全角を切り替えることができ 全角で漢字を書くこともできます。 どのようにすれば全角で書けるようになるでしょうか? VISTA グーグルクロム 

  • 全角カタカナを半角カタカナにする方法・・・

    皆様、ご指導宜しくお願い致します。 WEBの世界で有り得るのかどうか、まずはそこから疑問になりますが、どうすればいいのか思いつかないので お力をお貸し下さい。 DB:oracle8.1.X 言語:asp あるデータベースのデータが半角カタカナで登録されてしまっています。 フォームから検索条件を入れて、該当するデータを抽出したのですが、フォームのデータとデータベースのデータをどう比較すればいいのでしょうか? 半角カタカナを全角にする方法は、basp21を使えばできるのですが、SQLに全角のカタカナを値として渡しても意味が無いので。。。 SQL文を実行する時点で、値の形をイコールにしたいのです。 どなたか良い方法がありましたら、教えてください。

  • 半角/全角キーが利かない

     パソコンを立ち上げて日本語入力をしようと半角/全角キーを押しても、直接入力モードのままでローマ字入力モードに切り替わってくれず、一度IMEのプロパティで「標準に戻す」を押してからでないと半角/全角キーが反応してくれません。どうすれば直るでしょうか?  また、知らないうちにIMEの種類が3つ((1)Microsoft IME(2)Microsoft office IME 2007(3)Baidu IME)になっています。知らないうちにインストールしてしまったのでしょうか?  回答のほどよろしくお願いします。

  • 全角→半角

    こんにちわ フォームから入力された$titleに全角英数文字が入力された場合 半角に統一したいのですがどうすればよいでしょうか?

    • ベストアンサー
    • Perl
  • 半角/全角切り替え

    昨日まで問題なかったのですが、 半角/全角キーでうまく切り替えができなくなってしまいました。 OSはWindowsVistaで言語はMicrosoftIMEを使用しています。 半角/全角キーを押して、 ひらがな⇒直接入力 は切り替わるのですが、 直接入力⇒ひらがな に切り替わりません。 一度半角/全角キーを押したら、 直接入力のままになってしまうのです。 IMEのプロパティからキー設定を確認したのですが、 半角/全角キーは[IMEオン/オフ]の設定になっています。 問題なかったときと同じ設定だと思うのですが・・・。 何か良いアドバイスがありましたら教えて下さい。

  • outlook 半角→全角に切替できない

    WinXPSP2、Office outlookの予定表内で、数日前から 日本語、英数を問わず全角入力が全くできません。 どのボタンを押しても半角から切り替わらない状況です。 きっかけはあるのでしょうが、思い当たるものがありません。 他のソフトでは問題なく入力できます。 半角/全角ボタン、カタカナ/ひらがなボタンや、 IMEの入力モードをひらがなにしても全く効かない状況で、 仕方なくメモ帳で全角入力したものをコピペして使っています。 ちなみに、たまにブラウザ(IE6)のWebのフォーム入力時も 同じ現象が起こるのですが、その際は (1)一旦IEのアドレスバーにカーソルを置き、 (2)アドレスバー内にてかな入力に切り替え、 (3)アドレスバーにて全角文字を一文字以上打ち込んだ上で 元のWebフォームにカーソルを戻すと、正常な状態に戻っています。 過去ログで似た症状のものを探したのですが、 自分の症状とは少々異なる気が致しまして、 なにか解決策がありましたら教えていただけないでしょうか。 よろしくお願い致します。

  • キーの全角半角がおかしいです

    すみません、いきなりなのですがキーボードの「全角半角」キーがおかしくなりました。 症状としては、全角半角キーをたたくと「’」これではないのですが、変なマークが出ます。他は@キーで「がでます。 ほかはあまり試していませんが、原因不明なのです。 コンパネのキーボードの設定は「日本語MS-IME2000」で IMEの全般の設定も間違っていないと思います。 入力ロケータでしたっけ? 全角半角キーはちゃんとIME切り替えになっています。 リカバリー以外でなにか修復方法ないでしょうか? よろしくお願いしたします。

  • ブラウザー。全角入力から半角にしても戻ってしまう

    こんにちは。 現在、win10を使用しています。(アニバーサリーでは無いですが…) そこでブラウザー起動時は、日本語入力モードにしたいと思い、調べた末に以下の記述をしたファイルを指定することにより、確かに最初から全角になりました・・・。 しかし、問題が出ました。 input,textarea{ime-mode:active} ◆問題 途中で半角入力したい場合も当然あり、半角にすると直ぐに勝手に全角入力に戻ってしまうのです。 これを改修する方法は、無いのでしょうか? ◆やりたいことは、シンプルです。 ・ブラウザー起動時に(前回と関係なく)最初から全角入力モードになって欲しい。 ・途中で半角入力モードに切り替えたら、ユーザーが切り替えるまでそのままのモードでいて欲しい。  (入力途中で勝手に全角入力モードに戻らないで欲しい) たったこれだけなんですが、何故出来ないのでしょうか? 誰も不便に思われていないのでしょうか? どなたか解決された方が居られましたアドバイスをお願い申し上げます。

  • 半角全角キーを押しても全角にならない

    私は「テイルズウィーバー」というオンラインゲームをやっているのですが、 先日のUPDATEで設定がおかしくなったらしく、 普通の時でもF5を押してIMEパッドが出るようになったのです。 そのため、ググって対処法を調べ、 「IMEでのF5の機能を削除する」という方法を見つけ、快適になりました。 しかし、タイトルどおり半角全角キーをおしても、 直接入力からひらがな入力にならなくなったのです。 Alt+半角全角でなる事にはなるのですが、すごく使いづらいのです。 既定の設定に戻したところ直ったのですが、F5を削除すると元に戻ってしまうようです。 そこで、F5の機能を削除したまま半角全角キーだけで入力切替ができるようにするにはどうしたらよいのでしょうか? (日本語がおかしい点があればご容赦ください)

  • 全角数値の判定

    教えて頂けますか? フォームからPOSTされた文字列が半角数値、または文字列の場合許可し、全角数値の場合拒否したいのですが 全角数値が is_numeric で数値として認識しない為 うまくいきません。 他に良い方法がありますか? よろしくおねがいします。 if ( strlen($_POST['test']) != mb_strlen($_POST['test'],'UTF-8') && is_numeric($_POST['test']) == TRUE ){ echo '半角で入力してください。<br />'; }

    • ベストアンサー
    • PHP