我有
JavaScript代码检查字符串中的特殊字符.但代码在mozilla浏览器中正常工作,但不在chrome中.
即使字符串名称不包含特殊字符,它表示它包含特殊字符,Chrome的问题也是如此.
即使字符串名称不包含特殊字符,它表示它包含特殊字符,Chrome的问题也是如此.
var iChars = "~`!#$%^&*+=-[]\\\';,/{}|\":<>?"; for (var i = 0; i < chkfile.value.length; i++) { if (iChars.indexOf(chkfile.value.charAt(i)) != -1) { alert ("File name has special characters ~`!#$%^&*+=-[]\\\';,/{}|\":<>? \nThese are not allowed\n"); return false; } }
改变我的问题陈述
假设我想从任何linux / windows机器上传一个文件dektop.zip.
chkfile.value的值是mozilla中的deskto.zip,但是在chrome中,chkfile.value的值为c://fakepath/desktop.zip.所以,如何避免c:// fakepath / from chkfile.value
解决方法
您可以使用此
regular expression测试一个字符串:
function isValid(str){ return !/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(str); }