提取电子邮件地址,但删除一些通知
Extract email addresses but remove some tld
我有一个字符串中的文本。我写了一个函数,从这个字符串中提取电子邮件,但是我想要删除具有特定tld的电子邮件。
例如,删除所有带有。xyz
域名的电子邮件- test@gmail.com -> OK
- test@gmail.xyz -> OUT
- test@gmail.XYZ——>
函数如下。事实上,我不认为区分大小写的整合是有效的。请帮忙好吗?
function extraction(string) {
var emails= string.match(/'b[A-Z0-9._%+-]+@[A-Z0-9.-]+'.[A-Z]{2,6}'b/ig);
if (/(xyz|us|porn/i)$/.test(emails)){
return false;
} else {
return emails;
}
}
你可以在你的第一个正则表达式中加入这个逻辑:
'b[A-Z0-9._%+-]+@[A-Z0-9.-]+'.(?!xyz'b|abc'b|xxx'b)[A-Z]{2,6}'b
插入的部分((?!xyz'b|abc'b|xxx'b)
)将确保排除这3个扩展(xyz
, abc
, xxx
)。
不需要第二个正则表达式。违规者将立即被排除在外。
对于大小写不敏感,您需要在正则表达式的最后提供i
修饰符,而不是中途:
/........./i
首先,如果您试图限制某些单词,您应该做的是在放入正则表达式之前进行验证。http://regexr.com/
第二,这个正则表达式的一部分是错误的/(xyz|us|porn/i)$/你在i之前放了一个未转义的正斜杠什么意思都没有,这是正则表达式中的错误我不是正则表达式专家,我这样做了,并为你试图验证的这些单词工作这是我的结果/xyz|us|porn/ig我把/ig什么意思是任何单词的大写或小写将被搜索和单词在全局允许交互式搜索。
我正在学习英语,如果你有不明白的地方问我,我将回答你。function extraction(string) {
var emails= string.match(/'b[A-Z0-9._%+-]+@[A-Z0-9.-]+'.[A-Z]{2,6}'b/ig);
if (/xyz|us|porn/ig.test(emails)){
return false;
} else {
return emails;
}
}
document.write(extraction('test@gmail.com'));
document.write('<br/>');
document.write(extraction('test@gmail.xyz'));
document.write('<br/>');
document.write(extraction('test@gmail.XYZ'));
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 按顺序添加和删除类
- iframe正在添加标签,需要删除它们
- 在Strongloop中发送推送通知时,设备从安装中删除
- 删除HTML5通知权限
- 通知承诺角度删除回调
- 从 IOS 通知区域删除警报(推送通知)
- 如果没有使用JavaScript连接到应用程序的通知,则删除应用程序
- 解析云代码-通知不起作用,对象不删除
- 无法删除opencart中的通知
- 如何用JavaScript在加载视图中删除所有Chrome通知
- 如何删除/关闭引导css通知
- 提取电子邮件地址,但删除一些通知
- Noty.js在新通知上删除最旧的通知