保留所有字母和数字字符,并将空白处改为-
Keep all alpha and numeric characters and turn white space into -
我想做的是:取字符串
- 删除任何不是字母和数字字符的内容
- 我还试图把任何空白变成一个-,(多个空白将变成一个)
- 全部转换为小写
这样做的原因是从用户输入的生成一个友好的URL
到目前为止,这就是我的全部
var str = "This is a really bad Url _, *7% !";
result1 = str.replace(/'s+/g, '-').toLowerCase();
alert(result1);
这可以实现
var str = "This is a really bad Url _, *7% !";
result1 = str.replace(/[^a-zA-Z0-9's]/g, '') // Remove non alphanum except whitespace
.replace(/^'s+|'s+$/, '') // Remove leading and trailing whitespace
.replace(/'s+/g, '-') // Replace (multiple) whitespaces with a dash
.toLowerCase();
alert(result1);
结果:
this-is-a-really-bad-url-7
您可以执行此
var output=input.replace(/[^A-Za-z'd's]+/g,"").replace(/'s+/g," ").toLowerCase();
var str = "This is a really bad Url _, *7% !";
result1 = str
.replace(/[^A-Za-z'd's]+/g, "") //delete all non alphanumeric characters, don't touch the spaces
.replace(/'s+/g, '-') //change the spaces for -
.toLowerCase(); //lowercase
alert(result1);
我只想扩展一下您已经得到的内容:首先将空格转换为连字符,然后用空字符串替换除字母、数字和连字符之外的所有内容,最后转换为小写:
var str = "This is a really bad Url _, *7% !";
result1 = str.replace(/'s+/g, '-').replace(/[^a-zA-Z'd-]/g, '').toLowerCase();
alert(result1);
您还需要考虑如何处理字符串中的初始连字符('-')。我上面的代码会保留它们。如果你也想删除它们,那么把第二行改为
result1 = str.replace(/[^A-Za-z'd's]/g, '').replace(/'s+/g, '-').toLowerCase();
我看了所有这些,有些遗漏了一些东西。
var stripped = string.toLowerCase() // first lowercase for it to be easier
.replace(/^'s+|'s+$/, '') // THEN leading and trailing whitespace. We do not want "hello-world-"
.replace(/'s+/g, '-') // THEN replace spaces with -
.replace(/[^a-z0-9-'s]/g, '');// Lastly
相关文章:
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- Javascript Regex选择每个非字母数字字符和空白
- JavaScript正则表达式(带_-的字母数字字符)
- 在粘贴事件Javascript的输入字段中删除所有非数字字符
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- 替换不包括 unicode 的非数字字符
- 字母数字字符的正则表达式和 - / 仅
- 正则表达式 - 匹配除单个数字之外的所有字母数字字符
- 用于测试字符串是否具有数字字符的条件
- 用于去除除科学记数法以外的所有非数字字符的正则表达式
- 将数字字符引用转换为实际字符
- 仅验证数字字符的 PDF 表单字段
- 正则表达式字母数字字符 - 允许连字符和下划线
- 正则表达式检查字符串是否仅包含字母数字字符和空格 - javascript
- HTML5 输入类型=数字值在 Webkit 中为空,如果包含空格或非数字字符
- 用于验证字母数字字符、所有国际字符(日语、中文、俄语等)的JavaScript正则表达式
- 如何使用jsawk从非字母数字字符的json对象的属性中提取值
- 保留所有字母和数字字符,并将空白处改为-