0

正規表現を使用して PHP ページの入力を検証しようとしていますが、ここではまったく新しいので、支援が必要です

<script>
    function addplaces()
    {

        valid=true;
        placename=document.getElementById("placename").value;

        city=document.getElementById("city").value;
        province=document.getElementById("province").value;
        country=document.getElementById("country").value;
        category=document.getElementById("category").value;
        placepicture=document.getElementById("placepicture").value;
        descp=document.getElementById("descp").value;


        if(placename=="" || preg_match("^[A-Z]'?[- a-zA-Z]( [a-zA-Z])*$", placename))
        {
            alert("Please Enter Place Name");
            document.getElementById("placename").focus();
            valid=false;
        }

        else if(city=="")
        {
            alert("Please Enter City Name");
            document.getElementById("city").focus();
            valid=false;
        }

        else if(province=="")
        {
            alert("Please Enter province Name");
            document.getElementById("province").focus();
            valid=false;
        }

        else if(country=="")
        {
            alert("Please Enter country Name");
            document.getElementById("country").focus();
            valid=false;
        }

        else if(category=="")
        {
            alert("Please Enter category Name");
            document.getElementById("category").focus();
            valid=false;
        }

        else if(placepicture=="")
        {
            alert("Please Enter place picture");
            document.getElementById("placepicture").focus();
            valid=false;
        }

        else if(descp=="")
        {
            alert("Please Enter Description");
            document.getElementById("descp").focus();
            valid=false;
        }

        return valid;
   }

</script>

使ってみたpreg_match();のですがうまくいきません どこが間違っているのか教えてください。

4

1 に答える 1

1

preg_matchは PHP 用です。そのため、 JavaScriptコードでは機能しません。

の代わりに( PHP でプログラミングする場合は、ここpreg_match("^[A-Z]'?[- a-zA-Z]( [a-zA-Z])*$" を見逃しています))

使用する

var regex = new Regex( /^[A-Z]'?[- a-zA-Z]( [a-zA-Z])*$ );
if(regex.test(placename)) { ... }
于 2013-10-22T06:12:34.880 に答える