Regular Expression For Excluding File Types .exe And .js
Solution 1:
This will exclude .js
and .exe
at the end of the string, but allow anything else:
/^[^.]+$|\.(?!(js|exe)$)([^.]+$)/
Broken down:
^[^.]+$
matches any string with no dots\.(?!(js|exe)$)([^.]+$)
matches a dot only if it is not followed byjs
orexe
at the end of the string.
The following are allowed:
something.js.notjs
somethingelse.exee
/something.js/foo
The following are not allowed:
jquery.js
outlook.exe
Note: excluding certain file extensions is not a substitute for security, and even if it were JS and EXE files would not be a comprehensive blacklist. If your purpose in excluding certain extensions is to protect your server or your users, consider a white list of extensions and a thorough validation of file data after upload.
Solution 2:
You're looking to use the (?!pattern) syntax. Also, while stating what you want to match, you aren't stating what should match. So this should do the trick:
(\.|\/)(?!exe|js).*$
This is saying "Match anything that's a dot (.) as long as it's not followed by 'exe' or 'js', and then match whatever you want after that."
Solution 3:
I do not know this work or not but 99% this will work for you to exclude this exe or js extension use following pattern
/\.(exe|js)$/ig
Following code give you TRUE when file is on your blacklist. Otherwise give you FALSE
var result = /\.(exe|js)$/ig.test(filename);
Hope this help you!
Post a Comment for "Regular Expression For Excluding File Types .exe And .js"