从字符串中删除数字和字符

5

如果用户点击一个标签,现在它会识别全文(数字和字符)。

返回 Popular Tag %82

我尝试过:

$tag.click(function(){
  var $this = $(this);
  var text = $this.text();
  var num = text.parseInt();
  num.remove();
  alert(text)
});

对于数字这一部分没有作用。那么我该怎样只获得字母?例如:忽略数字和特殊字符(%)

这里是Fiddle!感谢您的帮助!

2个回答

18

最简单的方法是使用正则表达式:

var s = "ABCblahFoo$%^3l";
var letters = s.replace(/[^A-Za-z]+/g, '');
  • [] 代表一个字符(或可能是多种不同的字符)
  • ^ 表示除括号中定义的字符外的所有字符
  • A-Z 表示大写字母
  • a-z 表示小写字母

因此... 将所有非字母字符替换为空字符串。

jsFiddle 演示


2
+1,但我会在 [^A-Za-z] 前面加上一个 +,这样如果有连续的字符需要删除,它们可以一次性删除,而不是逐个删除。 - zx81
@jahroy 不客气,看到你在另一个正则表达式问题上的回答后,我很享受浏览了一些你的回答。 :) - zx81
@zx81 - 同样地。我也很喜欢那个其他问题,尽管我不在我的领域内,希望对话能够继续下去! - jahroy
@jahroy 他听起来非常能干,我也很想听听他的意见——这次交流可能会很有趣,我相信我会学到一些东西。很高兴保持联系,祝你周末愉快。 - zx81

0

上述答案将从字符串中删除空格。

var str = "Hello^# World/";
str.replace(/[^a-zA-Z ]/g, "");

使用这个。只需在正则表达式中的A-Z后面添加空格即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接