有没有办法将这两种模式结合起来?我想删除空格和非字母数字字符。
这确实有效,重复replace
函数似乎效率低下。
var str;
str = $('p').text().replace(/[^a-zA-Z 0-9]+/g, '');
str = str.replace(/\s/g, '');
alert(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>What's Happening Here!</p>
示例jsFiddle。
答案 0 :(得分:6)
您可以使用'或'运算符(|
)组合它们,如下所示:/[^a-zA-Z 0-9]+|\s/g
var str = $('p').text().replace(/[^a-zA-Z 0-9]+|\s/g, '');
console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>What's Happening Here!</p>
答案 1 :(得分:1)
你可以明确只允许数字和字母。这将丢弃任何空格
str = $('p').text().replace(/[^0-9a-zA-Z]/g, '');
答案 2 :(得分:0)
ypu也会在最后添加.replace
之后再添加
str = $('p').text().replace(/[^a-zA-Z 0-9]+/g, '').replace(/\s/g, '');
var str;
str = $('p').text().replace(/[^a-zA-Z 0-9]+/g, '').replace(/\s/g, '');
alert(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<p>
What 's Happening Here!
</p>