2010-12-03 237 views
3

是否可以使用javascript字符串替换函数来翻译类似特殊字符?javascript替换特殊字符

+1

您可能想使用`“\ xDD”`或`“\ uDDDD``而不是实际的字符,以使大多数编辑器更易于阅读和管理。 – 2010-12-03 16:12:02

回答

2

是的,而且是可以很简单:

'®'.replace('®','anything'); 
1

使用此语法...

string.replace(/\xCC/g,''); 

其中“CC”是你想要替换字符的十六进制字符代码。在这个例子中,我用空字符串''替换。

专门针对这个问题中列出的字符:

string.replace(/[\xAE\xFC]/g,''); 
+0

在控制台的此页面上运行此操作不会返回预期的结果。 – 2010-12-03 16:33:29

+0

@Mike用哪个字符代码? – 2010-12-03 16:38:58

+1

@El,啊!全局标志后面有一个额外的斜线。这就是为什么。 – 2010-12-03 16:44:28

5

当然是!

运行这Firebug控制台

"®ü".replace(/[®ü]/g,"replaced") 

返回

“replacedreplaced”

你也可以做

"®ü".replace(/[\xAE\xFC]/g,"Wohoo! "); 

返回

"Wohoo! Wohoo! " 

一个好的十六进制符号查找页面可以在http://www.ascii.cl/htmlcodes.htm


找到此页上运行这个jQuery

$(".post-text").text().replace(/®/g," ******** ") 

回报

" is it possible to translate special characters like ******** , ü etc with javascript 
String replace function? Use this syntax... string.replace(/\xCC/g/,''); Where 'CC' is 
the hex character code for the char you are wanting to replace. In this example I am 
replacing with empty string ''. yes, and is as simple as can be: ' ******** '.replace(' 
******** ','anything'); Sure is! Running this in the Firebug console " ******** ü". 
replace(/[ ******** ü]/g,"replaced") returned replacedreplaced " 
0

(是的,我知道这个问题已经过时了,但当我在寻找特定的东西时,它仍然出现在Google的高位,所以评论/回答可能对某些人有用):

以前的海报告诉过你如何替换单个字符。我想补充一点,这通常不是一个好主意(当然也有例外),因为有太多可能的“特殊字符”,你必须考虑。你最终会添加越来越多的替代品,你仍然会错过一些。

查找其中一个内置函数来执行此操作通常更容易和更安全,这将需要所有需要特殊处理的字符。

在你的问题,你不告诉我们你需要它 - 但是我想3年后,这更是为其他人反正类似的问题:

如果你想传递一个字符串作为一个参数,最好使用encodeURIComponent函数。也请看When are you supposed to use escape instead of encodeURI/encodeURIComponent?

如果你想编码其他东西,最好找到一个内置的函数来为你做。也许http://www.the-art-of-web.com/javascript/escape/http://shebang.brandonmintern.com/foolproof-html-escaping-in-javascript/(有点繁琐,但随着事情你应该做好解释)将帮助

-1

使用此JavaScript语句从字符串

var a1 = $('#txt').val().replace(/[^\x30-\x39\x41-\x5A\x61-\x7A\x20\x26\x28\x29\x2C\x27\x22\x2E\x2F\x26\x40\x5C\x7C\x3A\x2D]/g, ''); 

上面的语句代替所有的特殊字符将取代其他比设定0-9A-ZA-Z &()“,” ./ & @ \ |: - 有没有即删除任何控制字符等

反正@阿尔贝托 - Zaccagni爵士希望你不会否定这次我反对我投票:)