小编Mar*_*ell的帖子

JS判断字符串是否有电话号码

我目前正在构建一个聊天框,并希望对用户发送的内容进行一些快速的客户端验证。我希望能够检测用户是否在消息中发送了电话号码(以尽可能多的格式,但一般美国格式就可以)并将其替换为井号(#)。我已经为电子邮件实现了这样的功能:

var message = 'Hi. This is my email: foo@bar.com. This is my number: (970)-555-7595.';
var emailExp = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/img;

// prints: Hi. This is my email: *********. This is my number: (970)-555-7595
console.log(message.replace(emailExp, '*********'));
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

var message = 'Hi. This is my email: foo@bar.com. This is my number: (970)-555-7595.';
var emailExp = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/img;
var phoneExp = SOME_CRAZY_PHONE_REGEX;

// prints: Hi. This is my email: *********. This is my number: ##########
console.log(message.replace(emailExp, '*********').replace(phoneExp, ##########));
Run Code Online (Sandbox Code Playgroud)

我有什么办法可以完成这个任务吗?我需要它来查找字符串中每个电话号码的所有实例,并将它们替换为井号。该表达式不必太疯狂,但我希望它能够匹配大多数通用的美国格式。

我确实做了一些寻找模式,但大多数都验证了完整的字符串电话号码。我正在尝试查找并替换字符串中的所有电话号码。谢谢

编辑

我不想改进我的电子邮件模式。只是在这种情况下适用的电话号码模式:)

javascript regex validation phone-number

2
推荐指数
1
解决办法
5179
查看次数

标签 统计

javascript ×1

phone-number ×1

regex ×1

validation ×1