是否可以使用javascript字符串替换功能翻译特殊字符,如®,ü等?
答案 0 :(得分: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 "
答案 1 :(得分:2)
'®'.replace('®','anything');
答案 2 :(得分:1)
使用此语法...
string.replace(/\xCC/g,'');
其中'CC'是您想要替换的char的十六进制字符代码。在这个例子中,我用空字符串''替换。
特别针对问题中列出的字符:
string.replace(/[\xAE\xFC]/g,'');
答案 3 :(得分:0)
(是的,我知道这个问题已经过时了,但是当我在寻找具体的东西时谷歌仍然很高,所以评论/回答可能对某些人有帮助):
以前的海报告诉你如何更换单个字符。我想补充一点,这通常不是一个好主意(当然也有例外),因为有很多可能的"特殊字符"你必须要考虑的。您最终会添加越来越多的替代品,但您仍然会遗漏一些。
通常更容易,更安全地查找其中一个内置函数来执行此操作,这将需要特殊处理的所有字符。
在你的问题中,你没有告诉我们你需要它 - 但我想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/(有些冗长,但对不所做的事情有很好的解释)会有所帮助
答案 4 :(得分:-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&(),'。。& @ \ |: - 之外的任何其他内容,即删除任何控制字符等。
更好的选择是替换ASCII字符集以外的所有字符。即。
var a1 = $('#txt').val().replace(/[^\x20-\x7E]/g, '');
ASCII字符集从空格开始,即\ x20,并以波形符号结束,即\ x7E。所以替换所有其他角色;除了ASCII。
仅供参考:以防万一你不知道使用^符号表示除了给定的集合或字符。