使用javascript,如何使字符串只包含字母、数字和句点。删除所有其他字符

使用javascript,如何使字符串只包含字母、数字和句点。删除所有其他字符,javascript,replace,Javascript,Replace,在下面的js中编辑什么,所以这个文件名:old_file_name=this8_file name=44.jpg 变为:new_file_name=this8filename44.jpg 替换任何字符,除非它是字母、数字或数字。什么都没有 var old_file_name = file.upload.filename; new_file_name = old_file_name.replace(/^[ A-Za-z0-9.\s]*$/i, ''); console.log("file name

在下面的js中编辑什么,所以这个文件名:old_file_name=this8_file name=44.jpg 变为:new_file_name=this8filename44.jpg

替换任何字符,除非它是字母、数字或数字。什么都没有

var old_file_name = file.upload.filename;
new_file_name = old_file_name.replace(/^[ A-Za-z0-9.\s]*$/i, '');
console.log("file name is:"+new_file_name);
console.log("original file name is:"+old_file_name);
这将从头到尾检查它是否符合一个或多个条件。

简单地说:

常量cleanFileName=fn=>fn.replace/[^a-z0-9.]/ig, ; 让old_file_name=this8_file name=44.jpg ,新文件名=旧文件名 ; console.log old_file_name/->this8_file name=44.jpg
console.log new_file_name/->this8fileName44.jpg您当前获得的输出是什么?从正则表达式中删除^a和$-使用[^a-z9-9.]此处,^有不同的含义,添加g标志-如果正则表达式由a-Za-z0-9空格和空格组成,则当前正则表达式匹配从^start到$end的整个值。您的正则表达式说明:
new_file_name = old_file_name.replace(^[A-Za-z0-9_.]+$, '');