0

FacebookのユーザーIDを送信するためのフォーム入力があったが、リンク全体を読んで送信しない人もいます。フォームを送信する前に、リンクの不要な部分を削除するにはどうすればよいですか?

<form>
Facebook id: <input type="text" name="facebookid">
</form>

そして、ユーザーはこれを入力します:

www.facebook.com/UserProfleID

「www.facebook.com/」を削除してIDを残すにはどうすればよいですか?提出する前に?

あなたの時間をありがとうヒープ、どんな助けも素晴らしいでしょう

4

4 に答える 4

0

javascriptを使用してフォームの送信をインターセプトし、エラーが発生したことをユーザーに知らせることができます。しかし、他の人が言っているように、あなたはまだサーバー上で検証する必要があります。

document.forms[0].onsubmit = function(){
     var input = document.getElementsByName('facebookid')[0].split("/");
     if(input.length > 1){ 
         //should do this part with fancy CSS and not an alert box
         alert("Enter your id only plix plox");
         return false;
      }
     return true;
}
于 2013-03-12T16:45:03.770 に答える
0

フォームを受け取っている場合は、文字列を操作する前に、文字列を操作するだけです。str_replaceを使用して、不要な部分文字列を削除できます。

str_replace('www.facebook.com/', '', $input);
str_replace('facebook.com/', '', $input);
str_replace('http://facebook.com', '', $input);

preg_matchで正規表現を使用することをお勧めしますが。

フォームの送信後に制御できない場合は、Javascriptを使用して、split関数を使用できます。

//str = input string
var parts = str.split("facebook.com/");

//alerting the username
alert(parts[1]);
于 2013-03-12T16:39:52.987 に答える
0
<form>
Facebook id: <input type="text" id="userid" name="facebookid">
</form>



$("form").submit( function () {
var arr= $("#userid").val().split("facebook.com/");
$("#userid").val(arr[1]);
} );

それはあなたを助けるかもしれません。

于 2013-03-12T16:55:26.900 に答える
-1

プレフィックスが予測可能であることが期待される場合は、入力から削除できる文字列の辞書を使用できます。

ただし、入力を予測できない場合、正規表現を使用すると、パターンを予測する柔軟性が得られますが、削除する値は予測できません。

これが私のコードである場合、RegularExpressionsを使用します...主に、ほとんどの作業を行うために最小限のコードを書くのが好きだからです。

于 2013-03-12T16:38:19.067 に答える