我有一個表單,讓用戶鍵入他們想要的文件名與擴展名下載文件時,但我需要驗證在客戶端(不包含[^/?*:;{}\\]+\\.[^/?*:;{}\\]+
,像這樣的東西)。文件名不需要包含擴展名,但可以如果他們希望。我發現這個:Validate a file name on Windows 但我不夠流利的jQuery,使其工作。jQuery使用正則表達式來檢查有效的文件名
回答
正如我的評論所述,它不是一個jQuery問題,它是一個JavaScript的東西,你在追求。
你可以去兩種方式,最簡單的是
var myString = "hello world";
var regexp = /w+/
var match = regexp.exec(myString);
console.log(myString); //will print the world "hello"
其他將使用Regexp Object
。
簡單,而不是使用「文字正則表達式」,您是否同意這樣稱呼它,使用對象
var re = new RegExp("\\w+");
var match = re.exec(myString);
console.log(myString); //will print the world "hello"
這個方便的網站是主要面向Ruby的正則表達式,但其創造的正則表達式
的一個很好的工具'/ w + /'(包含一個單詞字符)對於有效的文件名不是一個好的標準。 –
的確如此,但我並不是想要一個完整的解決方案,而是一個指向正確方向的指針,但我可以編輯我的答案。 –
我沒有完全使用這個答案,但像我曾經指出的那樣,謝謝。 – Howes
您可以爲此嘗試下面的代碼。這將返回文件名稱,如果有效。否則,它將返回空
var filename = ''; // enter your file name here
alert(filename.match(/^\s*[a-z-._\d,\s]+\s*$/i))
如果您想要排除某些字符提及在方括號中的字符如下圖所示
/^[^<>%$]*$/
'přílišžluťoučkýkůň.texťák'在您看來是不是有效的文件名?我的文件系統(NTFS @ W7)乞求不同:-) –
看起來像一個編造的語言...;) –
@limelights我認爲匈牙利相同:-)請參見http://en.wikipedia.org/ wiki/List_of_pangrams#捷克語來驗證它是一種真正的語言:-) –
- 1. 用正則表達式檢查有效的文件名
- 2. 正則表達式來檢查用戶名是否有效
- 3. 使用正則表達式來檢查輸入有效性嗎?
- 4. 正則表達式來檢查文本的有效性
- 5. 使用jQuery檢查正則表達式
- 6. 正則表達式來檢查2凸顯了文件名
- 7. 使用正則表達式檢查文件擴展名
- 8. 正則表達式檢查有效的主機名端口
- 9. 使用正則表達式檢查字符串的有效性
- 10. 正則表達式用來檢查命名約定是否有效
- 11. 正則表達式來檢查字符串是否有效XML
- 12. 正則表達式來檢查字符串是否有效
- 13. 正則表達式來檢查公式
- 14. 正則表達式模式,以有效的文件名
- 15. 檢查是正則表達式有效通過正則表達式
- 16. 檢查密碼有效使用正則表達式在JavaScript
- 17. 正則表達式的有效域名
- 18. 有效的域名正則表達式
- 19. 正則表達式來檢查是否有有效的正則表達式在PHP
- 20. 正則表達式來檢查IP
- 21. 正則表達式來檢查'\'
- 22. 正則表達式來檢查JavaScript
- 23. 正則表達式來檢查進入
- 24. 正則表達式來檢查符號
- 25. 正則表達式來檢查標題
- 26. 正則表達式來檢查0,00,000,0000,00.00
- 27. 正則表達式來檢查空格
- 28. 使用正則表達式來檢查輸入的更正
- 29. JavaScript正則表達式有效名稱
- 30. PHP正則表達式檢查名稱
這並沒有真正有什麼用jQuery深灰色,它的一JavaScript問題。在這裏,MDN文檔的正則表達式https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp –
我建議使用白名單(而不是黑名單)字符你'允許,這樣管理會更容易一些。 –
@DavidThomas任何合理的文件系統都有一個黑名單,而不是白名單。有些甚至沒有。如果文件系統支持,Linux將允許您將控制字符插入到文件名中。 –