2

したがって、デフォルト値が「www.mysite.com/users/」の入力ボックスがあります。この値の後に、ユーザーは「mike」などの短い URL を定義できるはずです。

ここで、短い URL に az と AZ のみを許可し、ユーザー入力をライブでチェックして、他の文字を &%!"£... として使用できないようにしたいと考えています。コードは次のとおりです。

<input type="text" id="short_url" value="www.mysite.com/users/" />
<script>
    ('#short_url').on('keypress', function(){
                var short_url = $(this).val();
                if(short_url.substr(0, 21) != 'www.mysite.com/users/'){
                    $(this).val('www.mysite.com/users/');
                }else{
                    // Only allow a-z
                        short_url = short_url.substr(21);
                        var RegEx = /^[a-z0-9]$/;
                        if(!RegEx.test(short_url)) {
                            if(short_url != '')
                            return false;
                        }
                }
            });
</script>

上記のコードで試したのは、ユーザーが自分の site.com をクリアできないようにすることでした。そのため、デフォルト値の後に短い URL を追加し、正規表現の入力のみを許可する必要がありましたが、機能していません。これをどのように実装すればよいですか?

もう 1 つは、短い URL でドットを許可したいのですが、1 つのドットだけです。

前もって感謝します

4

2 に答える 2

1

ベースURLは変更されないので、入力フィールドの前に静的テキストを作成してみませんか。それはあなたのコードを劇的に単純化します。

<span>www.mysite.com/users/</span>
<input id="short_url" type="text" />​

そして、検証を処理するための小さなjQuery

(function(){

    var shortUrlRegexp = /^[a-zA-Z]*(\.{1}[a-zA-Z]*)?$/;

    $("#short_url").on("keyup", function(){

        var text = $(this).val();

        var isMatch = shortUrlRegexp.test(text);

        $(this).toggleClass("invalid", !isMatch);

    });

}());​

これがライブデモです。

于 2012-12-06T15:29:32.793 に答える
0

これにより、英数字 + one が許可されます.。英数字で開始および終了する必要があります

^[a-z0-9]+\.?[a-z0-9]+$
于 2012-12-06T15:17:35.560 に答える