使用Javascript过滤字符串中的正则表达式

时间:2015-07-09 16:20:57

标签: javascript regex

我有一个javascript字符串,其中包含一些我想要过滤的联系信息。例如,如果写入电子邮件或电话,则应使用掩码替换它们。

我正在尝试做类似的事情:

function(message) {
            var filteredMessage = message.replace("/^([\da-z_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/", "<Email>");
            return filteredMessage;
        }

但这不起作用。

3 个答案:

答案 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")); 中的正则表达式,必须没有