JS只允许输入5位数字的正则怎么写

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:41:42
var email_ok=true,i;
if(inputform.email.value==''){
alert("您没有填写 EMail!");
inputform.email.focus();
return false;
}
else{
email=inputform.email.value;
if((at=email.indexOf("@"))<0){
email_ok=false;
}
if((dot=email.lastIndexOf("."))<0){
email_ok=false;
}
if(at>dot||dot>=email.length-1){
email_ok=false;
}
if(!email_ok){
alert("填写 EMail 错误!");
inputform.email.focus();
return false;
}
}
上面这段是邮箱的填写正则,如果把这个改成只允许输入5位数字怎么改?
解决这个后,我还想根据另一个已经填写了的项目,如性别"sex",在这段填写后自动在前面加一个数字.
比如前面有个选项是性别"sex",选男=1,选女=2
那就在别人填写填写了那段email后自动在前面把性别的值加上来.
最后的目的就是如果填写55555后,自动根据sex把前面加一位数字。如果前面有选过 性别=男,那这个55555就变成155555了。
有没有人能解决?
为什么改了后无论填写什么都是出现错误呢?》就算填写的是5位数字也不行

三楼大哥,,莫非可以不用正则也能解决?有更好的办法?
我的是用到UC上去,代码是这样的。

if(inputfor

只允许5位数字的语句这样:
if(! inputform.email.value.match(/^[0-9]{5}$/)){
alert("只能填写五位数字!");
inputform.email.focus();
return false;
}
if (inputform.sex.value=='男') inputform.email.value='1'+inputform.email.value;
if (inputform.sex.value=='女') inputform.email.value='2'+inputform.email.value;

补充:
错误?粘贴你的代码看看。

你没有粘贴完整的程序,我下面是完整的程序代码(你可以粘贴到记事本里面保存为HTML文件测试),在IE下测试通过,没有问题:

<FORM NAME=inputform><INPUT TYPE=TEXT NAME=uc><INPUT TYPE=BUTTON VALUE='检查' ONCLICK='chk();'></FORM>
<SCRIPT TYPE=TEXT/JAVASCRIPT>
function chk()
{
if(inputform.uc.value == '') { alert("请填写UC!"); inputform.uc.focus(); return false; }
if(! inputform.uc.value.match(/^[0-9]{5}$/)){ alert("只能填写五位数字!"); inputform.uc.focus(); return false; }
alert('检查通过');
}
</SCRIPT>

if(isN