jQuery从字符串中删除特殊字符等等

jQuery remove special characters from string and more

本文关键字:特殊字符 删除 字符串 jQuery      更新时间:2023-09-26

我有一个这样的字符串:

var str = "I'm a very^ we!rd* Str!ng.";

我想做的是从上面的字符串中删除所有特殊字符,并将空格和下划线替换为-字符。

上面的字符串在"转换"后会是这样的:

var str = 'im-a-very-werd-strng';

replace(/[^a-z0-9's]/gi, '')将把字符串筛选为字母数字值,replace(/[_'s]/g, '-')将用连字符替换下划线和空格:

str.replace(/[^a-z0-9's]/gi, '').replace(/[_'s]/g, '-')

Regex的来源:Regex for Javascript只允许字母数字

下面是一个演示:http://jsfiddle.net/vNfrk/

假设"special"是指非单词字符,那么这很容易。

str = str.replace(/[_'W]+/g, "-")
str.toLowerCase().replace(/['*'^'''!]/g, '').split(' ').join('-')

从字符串句子中删除数字、下划线、空格和特殊字符。

str.replace(/[0-9`~!@#$%^&*()_|+'-=?;:'",.<>'{'}'[']'''/]/gi,'');

演示

这将删除所有特殊字符

 str.replace(/[_'W]+/g, "");

这真的很有帮助,解决了我的问题。请运行以下代码,并确保其工作

var str="hello world !#to&you%*()";
console.log(str.replace(/[_'W]+/g, ""));

由于我无法对Jasper的回答发表评论,我想指出他的解决方案中的一个小错误:

str.replace(/[^a-z0-9's]/gi, '').replace(/[_'s]/g, '-');

问题是,首先代码会删除所有连字符,然后尝试替换它们:)您应该反转replace调用,并在第二个replace regex中添加连字符。像这样:

str.replace(/[_'s]/g, '-').replace(/[^a-z0-9-'s]/gi, '');

删除/替换Jquery中的所有特殊字符:

如果

str = My name is "Ghanshyam" and from "java" background

并且想要去除所有特殊字符("),然后使用这个

str=str.replace(/"/g,' ')

结果:

我的名字是Ghanshyam,来自java背景

其中g表示全局

var str = "I'm a very^ we!rd* Str!ng.";
$('body').html(str.replace(/[^a-z0-9's]/gi, " ").replace(/^'s+|'s+$|'s+(?='s)/g, "").replace(/[_'s]/g, "-").toLowerCase());

第一个正则表达式删除带有空格的特殊字符,而不是从字符串中删除额外的空格,最后一个正则表达式用"替换空格-"