求一正则。。

bomb_boy 2007-09-06 09:44:48
ZXX-XX-XXXXWWW

XX部分为数字 WWW部分可有可无,是中文也可能是字母但是一定不是数字

Z12-12-1234小张
...全文
164 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2007-09-06
  • 打赏
  • 举报
回复
哦,没注意到前面的,用下面的试试,我这里测试通过

<form name=loginform>
<input type="text" name="E" size="20" onMouseOut="check()">
</form>
<script language=JavaScript>
function check()
{
var reg = /^Z\d{2}-\d{2}-\d{4}\D*$/;
if(!reg.test(document.loginform.E.value))
{
alert("不合法!");
}
}
check()
</script>


另外我觉得把onMouseOut="check()"换成onBlur="check()"会好些,onMouseOut验证有些不人性化
王集鹄 2007-09-06
  • 打赏
  • 举报
回复
javascript中是“/”不是“"”,vbscript才是“"”
啥也不说了,看效果吧

<form name=loginform>
<input type="text" name="E" size="20" onMouseOut="check()">
</form>
<script language=JavaScript>
function check()
{
var resss = new RegExp(/^Z\d{2}-\d{2}-\d{4}\D*$/);
if(!resss.test(document.loginform.E.value))
{
alert(document.loginform.E.value);
}
}
</script>
bomb_boy 2007-09-06
  • 打赏
  • 举报
回复
鼠标移开就调用,单独数字部分验证没有问题,前面甲了Z就无法验证了。。
bomb_boy 2007-09-06
  • 打赏
  • 举报
回复
onMouseOut="check()"
-过客- 2007-09-06
  • 打赏
  • 举报
回复
或者按你原来的写法,在</script>前面加一行
check();
你只定义了函数,并没有调用,所以不会弹出警告
-过客- 2007-09-06
  • 打赏
  • 举报
回复
try

<form name=loginform>
<input type="text" name="E" size="20" onMouseOut="check()">
</form>
<script language=JavaScript>
function check(str)
{
var reg = /^Z\d{2}-\d{2}-\d{4}\D*$/;
if(!reg.test(str))
{
alert("不合法!");
}
}
check(document.loginform.E.value)
</script>


后面写的延续了最开始的思路了,应该是按伴水这种写法好一些
bomb_boy 2007-09-06
  • 打赏
  • 举报
回复
感觉正则是对的,但是老通过不了。。难道是验证写错了

<form name=loginform>
<input type="text" name="E" size="20" onMouseOut="check()">
</form>
<script language=JavaScript>
function check()
{
var resss=new RegExp("^Z\d{2}-\d{2}-\d{4}(?:\D+)?$");
if(!resss.test(document.loginform.E.value))
{
alert("不合法!");
}
}
</script>
王集鹄 2007-09-06
  • 打赏
  • 举报
回复
估计是这样
@"^Z\d{2}-\d{2}-\d{4}\D*$"
-过客- 2007-09-06
  • 打赏
  • 举报
回复
后面可有可无,应该这样

Z\d+-\d+-\d+(?:\D+)?

数字位数固定,这样

Z\d{2}-\d{2}-\d{4}(?:\D+)?

如果是用在验证控件里或是在程序里验证规则

^Z\d{2}-\d{2}-\d{4}(?:\D+)?$

-过客- 2007-09-06
  • 打赏
  • 举报
回复
前面XX数字位数是否固定,用在哪里,验证控件还是程序里,什么目的,匹配还是提取


Z\d+-\d+-\d+\D+
keyboarduser 2007-09-06
  • 打赏
  • 举报
回复
Z\d{2}-\d{2}-d{2}[a-zA-Z]*?

或者

Z\d{2}-\d{2}-d{2}

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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