js正则求教~~

tinerli 2011-11-20 01:08:41
需求:

命名必需以非'-'和'_'和'.'开头,
以字母、数字和'-'和'_'和'.'组成,
末尾不能是'-'或'_'或'.'
或者'_'加数字或'-'加数字或'.'加数字
并且不能以纯数字命名。

比如我输入‘-test’,'_test','.test','test-',‘test_’,'test.',‘test_123’,‘test-123’,‘test.123’'123'都是不合法的

...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
p2227 2011-11-20
  • 打赏
  • 举报
回复
/^(?![-_.])(?!\d+$)(?!.+?[-_.]$)(?!.+?_(\d*)?$)[-\w.]+$/;
tinerli 2011-11-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cj205 的回复:]
JScript code

var arr = ['-test','_test','.test','test-','test_','test.','test_123','test-123','test.123','123'];
var arr1 = ['asdfasdf','asdf111','1sdjf']
var ……
[/Quote]

回ls的,你的表达式是没问题的.

如果我要改为
末尾不能是'_'加数字,去掉之前的'-'加数字和'.'加数字验证的话,应该怎样修改?谢谢了

tinerli 2011-11-20
  • 打赏
  • 举报
回复
回ls的,你的表达式是没问题的.

如果我要改为
末尾不能是'_'加数字,去掉之前的'-'加数字和'.'加数字验证的话,应该怎样修改?谢谢了

Mr-Jee 2011-11-20
  • 打赏
  • 举报
回复
			var arr = ['-test','_test','.test','test-','test_','test.','test_123','test-123','test.123','123'];
var arr1 = ['asdfasdf','asdf111','1sdjf']
var reg = /^(?![-_.])(?!\d+$)(?!.+?[-_.](\d*)?$)[-\w.]+$/;
for(var i in arr) {
document.writeln(reg.test(arr[i]));
}
document.writeln('<br />-------');
for(var i in arr1) {
document.writeln(reg.test(arr1[i]));
}
MuBeiBei 2011-11-20
  • 打赏
  • 举报
回复
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;

87,992

社区成员

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

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