我有一个javascript字符串,其中包含一些我想要过滤的联系信息。例如,如果写入电子邮件或电话,则应使用掩码替换它们。
我正在尝试做类似的事情:
function(message) {
var filteredMessage = message.replace("/^([\da-z_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/", "<Email>");
return filteredMessage;
}
但这不起作用。
答案 0 :(得分:1)
试试这个:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>radial-progress</title>
<link rel="stylesheet/less" type="text/css" href="styles/radial-progress.less">
<script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.5.1/less.min.js"></script>
</head>
<body>
<div class="radial-progress" data-progress="0">
<div class="circle">
<div class="mask full">
<div class="fill"></div>
</div>
<div class="mask half">
<div class="fill"></div>
<div class="fill fix"></div>
</div>
<div class="shadow"></div>
</div>
<div class="inset">
<div class="percentage"></div>
</div>
</div>
<script>
$('head style[type="text/css"]').attr('type', 'text/less');
less.refreshStyles();
window.randomize = function() {
$('.radial-progress').attr('data-progress', Math.floor(95));}
setTimeout(window.randomize, 200);
$('.radial-progress').click(window.randomize);
</script>
</body>
</html>
或者您可以使用此regExp:function filterMessage(message) {
//var reg = /^([\da-z_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;
var reg = /\b(\S+@\S+\.\S+)\b/g;
var filteredMessage = message.replace(reg, "<Email>");
return filteredMessage;
}
filterMessage("email.example.com will be replaced, so will be next@example.com");
(来自Kieran Pot的回答),然后您可以使用您的函数进行更好的过滤。
答案 1 :(得分:1)
我更喜欢使用非常宽松的正则表达式来搜索电子邮件地址,因为电子邮件地址的格式有很多变化。您可以尝试,例如:
/\S+@\S+\.\S+/
这将匹配a@b.c,其中允许一个或多个非空白字符代替a,b和c。
你可以用它代替strah的答案中的正则表达式,刚发布。
答案 2 :(得分:1)
你可以试试这个:
new JButton(new ImageIcon("path/to/image.jpg"));
在这里工作小提琴:http://jsfiddle.net/ochxdkam/
您的脚本问题:
function filterMessage(message) {
var m = message.replace(/[\da-z_\.-]+@[\da-z\.-]+\.[a-z\.]{2,6}/, "<Email>");
return m;
}
alert(filterMessage("Your Email: bla@fasel.de lorem Ipsum dolor"));
中的正则表达式,必须没有