问个正则:test某string只由小写字母组成和"-"组成,并且最多只有一个"-",并且只能以字母开头和结束,怎么写?

iProgram 2004-11-06 10:50:31
比如合法的字符串包括:
1. abcdefhg
2. abc-aaa
3. a-b
不合法的有
1. Abc (含有大写)
2. abc123d (含有小写)
3. abc-de-fg (含有一个以上的"-")
4. -abcd (没有以字母开头或结束)
现在写正则都习惯问别人了,自己想不出:(
http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39077620,00.htm
...全文
112 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iProgram 2004-11-06
  • 打赏
  • 举报
回复
我试了一下我自己的,都通过,为什么你的们写的跟我的不一样?
zhuqm 2004-11-06
  • 打赏
  • 举报
回复
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script>
function f(){
var val=put.value;
return val.search(/^[a-z]+-[a-z]+$/)!=-1||val.search(/^[a-z]+$/)!=-1
}
</script>
</head>
<body>
<input id=put><br>
<input type=button value=test onclick=alert(f())>
</body>
</html>
ttyp 2004-11-06
  • 打赏
  • 举报
回复
var re = /^[a-z]+\-?[a-z]+$/

alert(re.test("abc-aaa"));
iProgram 2004-11-06
  • 打赏
  • 举报
回复
/^[a-z]{1,}[-]{0,1}[a-z]{1,}$/
对么?
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-11-06 10:50
社区公告
暂无公告