<body>
<script language="javascript">
function email()
{
email=document.getElementById("email").value;
zmail=/^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;                         
alert(zmail.test(email));
}
</script>

<form action="" method=post>//*************去除
Email:<input type="text" size="40" id="email" />
<input type="submit" value="confirm" onclick="email()" />
</form>//***************去除
</body>
写了个检查email格式的js程序
1:我发现如果我没有加表单form,程序可以顺利运行,但alert只会执行一次,如果不刷新再点submit没有任何反应,没刷新一次alert能执行一次
2:如果我把表单form加上,输入email后点submit不会有alert产生,很奇怪,以前我的程序也这样写,都能很好执行的大家能帮我看下吗?谢谢拉!!!

解决方案 »

  1.   

    我这里把方法名改为checkemail就可以了
    楼主试试看
      

  2.   

    <input type="text" size="40" id="email" />
    請注意這里有一個id="eamil";而且下面的函數名也用了eamil:
    function email()
    {
       email=document.getElementById("email").value;
       zmail=/^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;                         
       alert(zmail.test(email));
    }
    養成在編寫代碼的時候注意最好避免試用相同的名稱命名不同的對象,否則會給糾錯帶來很大不便. 
    ---------------------
    以上分別用不同的名稱命名即可。
      

  3.   

    <input type="button" value="confirm" onclick="email()" />
    还有方法名,对象名,变量名最好不要写成一样的,容易出怪问题
      

  4.   

    谢谢大家,以后一定养成好习惯,看来不能只考虑语法难道那个我把form去掉后就能运行也是写法的问题吗,真无语了~~~呵呵
      

  5.   

    是啊,那个submit就是会提交表单的,因为去掉了,所以没什么可以提交的他就没提交,所以可以运行,加上了就被直接提交了,所以不行
      

  6.   

    元素ID和函数名不能相同,把函数名改成大写就OK了,函数名称是区分大小写的,ID不知区不区分哈。反正ID和函数不要一样。