我正在编写文件上传页面脚本(Javascript)。用户从他们的机器中选择一个文件。
我需要从包含文件名的字符串中删除任何不是:
我一直在尝试使用Javascript替换函数来删除不必要的字符。我可以使用以下方法删除所有非字母数字部分:
rawFilename = data.files[0].name;
safeFilename = rawFilename.replace(/\W/g, '');
这会留下字母、数字和下划线,但我还需要允许破折号和句点。我不确定选择破折号和句点的正确正则表达式是什么。
补充Lucas之前的回答
str = str.replace(/[^\w\.\-]/g, "");
破折号和句点可以是任何位置。
问题内容: 我知道如何遍历字符串中的所有字符,但是我正在寻找一种更优雅的方法。 问题答案: 正则表达式只需很少的代码即可解决问题:
我正在尝试构建一个正则表达式来验证用户名,该用户名将包含字母数字字符,并且应该允许<代码>(dot)(撇号)和-(破折号),我尝试了以下正则表达式,但它们不起作用 <代码>/^[a-zA-Z0-9\.-]$/<代码> 请帮帮忙
我正在寻找限制行编辑的方法,以仅接受字母数字字符、破折号和下划线(整行可能只有一个破折号和一个下划线),没有空格。我正在查看RegExp,但后来我留下了这个选项,因为我发现一些博客文章解释说RegExp真的很慢。现在我不知道限制行编辑的最佳方法是什么,所以输出将是我想要的。 你推荐我什么?
所有: 我想做的是使用正则表达式匹配一个只允许[a-Za-z0-9_-]的字符串,格式应该是: 仅从[A-Za-z0-9]开始,然后是[A-Za-z0-9_-]。中间可能有[_-],但如果有,则只允许一次(两个_-,但每个都只有一次机会),并以[A-Za-z0-9]结束。 我只知道如何匹配字母数字字符、破折号和下划线,但不知道如何限制它们的出现时间。 谢谢
我必须拆分一个包含破折号和减号的字符串。我试图根据unicode字符进行拆分(https://en.wikipedia.org/wiki/Hyphen#Unicode),仍然考虑减号与破折号字符相同。我如何解决它? 预期产出 (国家) (美国) -1个 实际输出量 (国家) (美国) //实际上,这里会打印空行,但编辑器会压缩空行 1. 我想在字符串连接期间会发生一些转换,但不确定。欢迎任何解决这