簡體   English   中英

如何使用正則表達式驗證表單上的輸入文件名?

[英]How to verify an input file name on a form using regular expression?

我需要驗證html表單中的輸入文件是否為圖像,我已經在html頁面內制作了以下代碼,但它不起作用......

 script type="text/javascript" language="javascript" 
    function valida(f){
        var campo = f.immagine.value;
        //window.alert(campo);
        var er = /^+.[\.]([jpg]|[gif]|[png])$/;
        if(er.test(campo)) {
            windows.alert("espressione regolare corretta");
            return true;
        }
        else {
            windows.alert("espressione regolare non corretta");
            f.immagine.style = "color:#F00";
            return false;   
        }
    }
/script

我的html代碼:

form  onsubmit="return valida(this)" action="inserisci_articolo1.php" enctype="multipart/form-data" method="post">
    input type="file" name="immagine" id="immagine" /
/form
var er = /^.+\.(jpe?g|gif|png)$/i;

你去吧。 問題是您將.+以錯誤的順序放在開頭,並且不應該封裝 jpg/gif/png 和[]的點。 現在正則表達式應該適用於*.jp(e)g*.gif*.png 我還在列表中添加了jpeg並使正則表達式不區分大小寫。

另外,請注意它是window不是windows ,並且f.immagine.style是一個對象,而不是一個字符串,所以使用類似f.immagine.style.color = "#f00";

此外,您必須確保用戶輸入圖像,因為任何具有修改擴展名的文件都將通過此測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM