求一个两天都没研究明白的正则

miencun 2019-05-28 10:03:13
匹配字符串:

@开头
字母、数字、下划线、点组成;
不能以.开始或结尾
不能以点com、点net等域名结尾;

正确格式:@xxx @xx_xx @xx.xx
不正确格式:@xxx. @.xxx @xxx.com @xxx.net
...全文
159 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
文盲老顾 2019-05-30
  • 打赏
  • 举报
回复
/^(?!.*(\.|com|net)$)@\w[\w\.]*/
miencun 2019-05-30
  • 打赏
  • 举报
回复
@天际的海浪 @stherix @老鼠拧刀满街找猫 @scscms太阳光
miencun 2019-05-30
  • 打赏
  • 举报
回复
楼上的大佬都没错,问题在于我是用全局模式做替换内容的。 不知道怎么改为全局模式了,可以再帮帮忙吗?
天际的海浪 2019-05-29
  • 打赏
  • 举报
回复

var arr = ["@xxx","@.xxx","@xx_xx","@xxx.","@xxx.com","@xxx.net","@xx.xx"];
alert("正确格式:"+arr.filter(function(v){
	return /^(?!.*\.(com|net)?$)@(?!\.)[\w\.]+$/i.test(v);
}));

miencun 2019-05-29
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
/^(?!.*\.(com|net)?$)@(?!\.)[\w\.]+$/i
似乎好像不能用诶,下面这个是我写的,通过测试了,但是不能排除以点com和点net结尾,其它都好了,自己不会改了。 /\@([\w]+([\.]?)([\w]+))/
河南棒小伙 2019-05-29
  • 打赏
  • 举报
回复
/^@[^\.]*\.*(?!(com|net))(\w+)$/这个好像更容易理解一些,@开头,紧接非.的任何然后可以有点或者没有,然后非com和net的以其他字符结尾。
河南棒小伙 2019-05-29
  • 打赏
  • 举报
回复
四楼的写法,将[a-zA-Z_0-9]换成\w就完美了
stherix 2019-05-29
  • 打赏
  • 举报
回复
上面再com和net后都加$会更准确
stherix 2019-05-29
  • 打赏
  • 举报
回复
/^@([a-zA-Z_0-9]+\.)*(?!(com|net))([a-zA-Z_0-9]+)$/
stherix 2019-05-29
  • 打赏
  • 举报
回复
引用 7 楼 河南棒小伙 的回复:
/^@[^\.]*\.*(?!(com|net))(\w+)$/这个好像更容易理解一些,@开头,紧接非.的任何然后可以有点或者没有,然后非com和net的以其他字符结尾。
关键是要处理 @.xxx @xxx....xxxx @xxxxx. 这样的情况 上面大多都没有处理连续的.
scscms太阳光 2019-05-29
  • 打赏
  • 举报
回复
/^@(?!\..*)(?!.*\.(com|net)?$)[\w.]+$/i
  • 打赏
  • 举报
回复

/^(?!.*\.(?:com|net)$)@\w+(?:\.\w+)*$/i
天际的海浪 2019-05-28
  • 打赏
  • 举报
回复
/^(?!.*\.(com|net)?$)@(?!\.)[\w\.]+$/i

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧