我在用
Regex re = new Regex("[;\\/:~+%^#@&*?\"<>|&']");
strFileName = re.Replace(strFileName, "_");
c#中的操作。
我需要使用与 jquery 操作相同的正则表达式
var strFileName = strFileName .replace(/[^-0-9a-zA-Z.]/g, "_");
但它不起作用。提前致谢。
我在用
Regex re = new Regex("[;\\/:~+%^#@&*?\"<>|&']");
strFileName = re.Replace(strFileName, "_");
c#中的操作。
我需要使用与 jquery 操作相同的正则表达式
var strFileName = strFileName .replace(/[^-0-9a-zA-Z.]/g, "_");
但它不起作用。提前致谢。
当我尝试这个时:
var strFileName = "whatever%#.jpg$";
strFileName = strFileName.replace(/[^\0-9a-zA-Z.]/g, "_");
alert(strFileName);
它给了我"whatever__.jpg_"
。
根据您提供的其他测试用例,如果我"wh-atever%#.jpg$"
输入"wh_atever__.jpg_"
.
在此处查看工作演示:http: //jsfiddle.net/jfriend00/r5V9d/
如果这对您不起作用,那么您可能在其他地方遇到了脚本错误,导致该脚本无法正常工作(检查浏览器错误控制台是否有脚本错误),或者您的代码中还有其他未披露的内容。
从您对评论的回复来看,您似乎有一些特殊字符没有被替换,您可以在对其进行细微调整后使用您的第一个正则表达式,这是您的修改版本
var thumbnail = "test%#$#\\^:-(filename.jpg";
thumbnail = thumbnail .replace(/[;\\/:~+%^#@&*?\"<>|&'\$\-\(\)]/g, "_")
缩略图会"test_________filename.jpg"
试一试