求一正则。。
ZXX-XX-XXXXWWW
XX部分为数字 WWW部分可有可无,是中文也可能是字母但是一定不是数字
Z12-12-1234小张
------解决方案--------------------Z\d{2}-\d{2}-d{2}[a-zA-Z]*?
或者
Z\d{2}-\d{2}-d{2}
------解决方案--------------------前面XX数字位数是否固定,用在哪里,验证控件还是程序里,什么目的,匹配还是提取
Z\d+-\d+-\d+\D+
------解决方案--------------------后面可有可无,应该这样
Z\d+-\d+-\d+(?:\D+)?
数字位数固定,这样
Z\d{2}-\d{2}-\d{4}(?:\D+)?
如果是用在验证控件里或是在程序里验证规则
^Z\d{2}-\d{2}-\d{4}(?:\D+)?$
------解决方案--------------------估计是这样
@ "^Z\d{2}-\d{2}-\d{4}\D*$ "
------解决方案--------------------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>
后面写的延续了最开始的思路了,应该是按伴水这种写法好一些
------解决方案--------------------或者按你原来的写法,在 </script> 前面加一行
check();
你只定义了函数,并没有调用,所以不会弹出警告
------解决方案--------------------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>
------解决方案--------------------哦,没注意到前面的,用下面的试试,我这里测试通过
<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验证有些不人性化