黑马程序员技术交流社区

标题: JS正则表达式,这段代码错在哪里? [打印本页]

作者: 罗代势    时间: 2012-10-27 10:59
标题: JS正则表达式,这段代码错在哪里?
本帖最后由 罗代势 于 2012-11-24 14:00 编辑

<body>
    <form id="form1" runat="server">
    <div>
   
    </div>
    <script type="text/javascript">
    function regExpIs_valid(text){
        var myRegExp=/[^a-z\d]/i;
        reture !(myRegExp.test(text));
    }
    function butCheckValid_onclick(){
        if(reExpIs_valid(document.form1.txtPhrase.value)==true)
        {
             alert("输入的字符有效");
         }
         else
         {
              alert("输入的字符无效");
          }
    }
  </script>

  输入你的密码:
  <br />
  <input type="text" name="txtPhrase" />
  <br />
  <input type="button" value="check Character Validity" name="butCheckValid"
      onclick="butCheckValid_onclick()" />
    </form>
</body>
IE调试提示butCheckValid_onclick()没有定义!!!!
作者: 郑鹏    时间: 2012-10-27 12:49
<body>
<div>
  输入你的密码:
  <br />
  <input type="text" id="txtPhrase" />
  <script type="text/javascript">
    function regExpIs_valid(text){
        var myRegExp=/[^a-z\d]/i;
        return !(myRegExp.test(text));
    }
    function butCheckValid(){
           if(regExpIs_valid(document.getElementById("txtPhrase").value)==true)
          {
             alert("输入的字符有效");
          }
         else
          {
              alert("输入的字符无效");
          }
    }
  </script>
  <br />
  <input type="button" value="check Character Validity" name="butCheckValid"
      />       
          </div>
</body>

哥们!您的问题主要是你加了form标签,加了这个js没有取到那个方法,所以未定义,我给你用getElementById来取了,这次取到了;
还有就是你的js脚本必须放到控件代码后面,也就是说必须在控件加载完后,才能取到控件;
或者直接在body 的load里把要执行的脚本函数写上



作者: 罗代势    时间: 2012-11-24 10:47
已解决!!谢谢
作者: 生活墨墨    时间: 2012-12-5 09:19
用Jquery取值更方便, $('#txtPhrase') id为txtPhrase




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2