1

そう、

私のウェブサイトには、c# asp.net 4 で書かれたテキスト ボックスがあります。

<td>
    <asp:TextBox ID="UserName" runat="server" CssClass="textEntry" Width="265px" 
     placeholder="שם משתמש" ontextchanged="UserName_TextChanged"></asp:TextBox>
</td>

問題は、誰かがヘブライ語の入力を行おうとすると、それを許可してしまうことです。

彼が書こうとしている入力がヘブライ語であることをどのように知ることができますか? 彼に JavaScript で警告を表示するか、許可しないようにします。

誰でも私に手を差し伸べることができますか?

ありがとう!

4

3 に答える 3

3

このタイプのソリューションが必要だと思いますTextBox は String Character のみを書き込みます

JavaScript でテキスト ボックスに数字 (または文字) のみを許可する方法。例えば

 function ynOnly(evt) {
        evt = (evt) ? evt : event;
        var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
            ((evt.which) ? evt.which : 0));
        if (charCode > 31 && charCode != 78 && charCode != 89 &&
            charCode != 110 && charCode != 121) {
            alert("Enter "Y" or "N" only.");
            return false;
        }
        return true;
   }

この場合、テキスト ボックスを 1 文字に制限することで、誤ったエントリに対する保護をさらに追加できます。

 Signature Present: <input type="text" name="signature" size="2" maxlength="1"
  onkeypress="return ynOnly(event)" /> (Y/N)

要件に応じて、このコードを変更できます。

于 2012-05-09T17:54:29.047 に答える
1

これがあなたが探しているものだと思います:

function UserName_TextChanged(which) {
    if (/[^a-zA-Z]/gi.test(which.value)) {
        alert ("Only alpha characters are valid in this field"); // no spaces, full stops or anything but A-Z
        which.value = "";
        which.focus();
        return false;
    }
}

私のマシンにはヘブライ語がありませんが、それらの文字も停止すると思います

このメソッドを次のように呼び出します。

ontextchanged="UserName_TextChanged(this)"

コードの説明:

function UserName_TextChanged(which) {

"which" 変数は、検証するコントロールです。関数を呼び出すときに「this」を渡すことに注意してください。これは大まかに「このオブジェクト」に変換されます。

if (/[^a-zA-Z]/gi.test(which.value)) {

これは、渡したコントロールの値に対して正規表現パターンをテストします

alert ("Only alpha characters are valid in this field");

パターンが一致する場合 (az 以外の文字があることを意味します)、無効な文字を入力したことをユーザーに警告しています。

which.value = "";

ここでは、コントロールのテキストを消去しています。必要に応じて、これを実行したくない場合があります。

which.focus();

ここでは、検証中のコントロールにカーソルを戻しています。

return false;

これは、フォームを送信する前にこの検証を呼び出す場合に使用されます。false を返すことで、フォームの送信をキャンセルできます。

于 2012-05-09T18:12:44.420 に答える
0

これには多くのStackoverflowの答えがあります。検索を使用します。「ヘブライ語入力検証」。

于 2012-05-09T18:16:10.013 に答える