3

このスクリプトは、送信された値が URL であるかどうかを確認することになっていますが、それは行いません。私は正規表現にあまり詳しくありません。これを作成してくれた友人が旅行に出かけています。

      <script type="text/javascript">// <![CDATA[
       window.onload=init;

        function init(){
        document.forms[0].onsubmit= function (){
        var url= document.getElementById("url").value;
        var desc= document.getElementById("description").value;
        var regex=new RegExp("^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$");
        var match=regex.test(url);
        if(!match)
        {
            alert("The URL you entered is not valid");
            return false;
        }
        if(desc.length<10)
        {
            alert("There must be at least 10 characters in the description");
            return false;
        }
    };
}
  // ]]></script>
4

3 に答える 3

6

PHP 5には、そのための関数が組み込まれています。あなたはそれをするために使うことができますfilter_var()

function is_url($url)
{
    return filter_var($url, FILTER_VALIDATE_URL) !== false;
}

編集:クライアントの検証は、ユーザーにとって便利なだけです。実際にはデータを検証しません。FirefoxTamperDataを使用して、必要なものを送信することができます。上記のように、代わりにサーバー検証を行う必要があります。

于 2012-09-23T05:51:48.590 に答える
0

正規表現を学び始めることをお勧めします。彼らは学ぶのが楽しいです。私も現在それらを学んでいます。ジェフリーEFフリードルによるオライリーのマスタリングレギュラーエクスプレッションズは非常に優れた本であり、いくつかのサイトから無料でダウンロードできます。見てみな。

于 2012-09-23T05:51:35.200 に答える
0
if(/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?\/$/i.test(url)) {
    alert("URL is valid");
}
else {
    alert("URL is not valid");
}

出典:こちら

于 2012-09-23T05:46:11.257 に答える