为了账号安全,请及时绑定邮箱和手机立即绑定

都是按照老师说的打的,大家看看我的代码哪里错了?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
</head>

<body>
<form>
    <!--会员名-->
    <div>
        <label>
            <span>会员名:</span>
            <input type="text" class="text" id="memberName"/>
        </label>
        <p class="msg">
            <i></i>
            5-25个字符,一个汉字为两个字符,推荐使用中文会员名
        </p>
    </div>
    <div>
        <label>
            <span></span>
            <b id="count">0个字符</b>
        </label>
    </div>
 
    <!--密码-->
    <div>
        <label>
            <span>登陆密码:</span>
            <input type="password" class="text" />
        </label>
        <p class="msg">
            <i></i>
            5-25个字符,一个汉字为两个字符,推荐使用中文会员名
        </p>
    </div>
 
    <div style="margin:3px 0 10px 0">
        <label>
            <span></span>
            <em class="active">弱</em>
            <em>中</em>
            <em>强</em>
        </label>
    </div>
 
    <!--确认密码-->
    <div style="padding-bottom:20px">
        <label>
            <span>确认密码:</span>
            <input type="password" class="text disabled=" />
        </label>
        <p class="msg">
            <i></i>
            请再输一次
        </p>
    </div>
 
    <!--验证码-->
    <div>
        <label>
            <span>验证码:</span>
            <input type="text" class="text" style="width:50px" />
            <img class="ver_img" src="img/verification_code.png">
            <a class="changeimg" href="#" title="重新获取验证码"></a>
        </label>
    </div>
 
    <!--提交按钮-->
    <div>
        <input class="submitBtn btn" type="submit" value="同意协议并注册">
    </div>
 
</form>
</body>
</html>

// JavaScript Document
function getLength(str){
	return str.replace(/[^\x00-xff]/g,"xx").length;//这里的正则\x00-xff是不是写错了,少了一个转义符???
	
	}

window.onload=function(){
	var aInput=document.getElementByTagName("input");
	var oName=aInput[0];
	var pwd=aInput[1];
	var pwd2=aInput[2];
	var aP=document.getElementByTagName("p");
	var name_msg=aP[0];
	var pwd_msg=aP[1];
	var pwd2_msg=aP[2];
	var count=document.getElementById("count");
	var aEm=document.getElementByTagName("em");
	var name_length=0;//为什么赋值为0??
	
//1.数字、字母(\w)  汉字\u4e00-\u9fa5
//5-25个字符,一个汉字为两个字符,推荐使用中文会员名


	//用户名
	oName.onfocus=function(){
		name_msg.style.display="block";
		name_msg.innerHTML='<i class="ati"></i> 5-25个字符,一个汉字为两个字符,推荐使用中文会员名'
		
		
		};
	oName.onkeyup=function(){
		 count.style.visibility="visiable";
		 name_length=getLength(this.value);
		 count.innerHTML=name_length+'个字符';
		 if(name_length==0){
			 count.style.visibility="hidden";
			 }
		};
		
	oName.onblur=function(){
		//含非法字符
		     var re=/[^\w\u4e00-\u9fa5]/g;
             if(re.test(this.value)){
				 name_msg.innerHTML='<i class="err"><i>含非法字符!'
				 }
		     else if(this.value==""){
				name_msg.innerHTML='<i class="err"><i>不能为空!'
				 }
			 else if(name_length>25){
				name_msg.innerHTML='<i class="err"><i>长度超过25个字符!'
				 }	 
			 else if(name_length<6){
				name_msg.innerHTML='<i class="err"><i>长度少于6个字符!'
				 }			};
			 else{
				name_msg.innerHTML='<i class="ok"><i>OK!'
				 }		
	
	
	
	}


正在回答

7 回答

var aInput=document.getElementByTagName("input");
var aInput =document.getElementsByTagName("input");

找一找这2行有什么区别?发现了木有,是getElementsByTagName不是getElementByTagName。没错,你把所有的getElementsByTagName都打成了getElementByTagName。我就不一一列举了哈。

count.style.visibility="visiable";
count.style.visibility = "visible";

这2行又有什么区别?你把visible敲成了visiable。

花括号是成对出现滴,最后少了}

修改后的JS

// JavaScript Document
function getLength(str){
   return str.replace(/[^\x00-xff]/g,"xx").length;//这里的正则\x00-xff是不是写错了,少了一个转义符???
   
   }

window.onload=function() {
   var aInput =document.getElementsByTagName("input");
   var oName = aInput[0];
   var pwd = aInput[1];
   var pwd2 = aInput[2];
   var aP = document.getElementsByTagName("p");
   var name_msg = aP[0];
   var pwd_msg = aP[1];
   var pwd2_msg = aP[2];
   var count = document.getElementById("count");
   var aEm = document.getElementsByTagName("em");
   var name_length = 0;//为什么赋值为0??

//1.数字、字母(\w)  汉字\u4e00-\u9fa5
//5-25个字符,一个汉字为两个字符,推荐使用中文会员名

   //用户名
   oName.onfocus = function () {
      name_msg.style.display = "block";
      name_msg.innerHTML = '<i class="ati"></i> 5-25个字符,一个汉字为两个字符,推荐使用中文会员名'

   };
   oName.onkeyup = function () {
      count.style.visibility = "visible";
      name_length = getLength(this.value);
      count.innerHTML = name_length + '个字符';
      if (name_length == 0) {
         count.style.visibility = "hidden";
      }
   };

   oName.onblur = function () {
      //含非法字符
      var re = /[^\w\u4e00-\u9fa5]/g;
      if (re.test(this.value)) {
         name_msg.innerHTML = '<i class="err"></i>含非法字符!'
      }
      else if (this.value == "") {
         name_msg.innerHTML = '<i class="err"></i>不能为空!'
      }
      else if (name_length > 25) {
         name_msg.innerHTML = '<i class="err"></i>长度超过25个字符!'
      }
      else if (name_length < 6) {
         name_msg.innerHTML = '<i class="err"></i>长度少于6个字符!'
      }
      else {
         name_msg.innerHTML = '<i class="ok">OK!</i>'
      }


   }
}


0 回复 有任何疑惑可以回复我~
#1

Bill0123 提问者

谢谢啦!
2015-09-02 回复 有任何疑惑可以回复我~
#2

Perona 回复 Bill0123 提问者

不客气
2015-09-02 回复 有任何疑惑可以回复我~
#3

李纳伟多

sdfsflsdk
2015-09-10 回复 有任何疑惑可以回复我~
#4

李纳伟多 回复 Perona

kkk
2015-09-10 回复 有任何疑惑可以回复我~
#5

Perona 回复 李纳伟多

怎么?
2015-09-10 回复 有任何疑惑可以回复我~
#6

李纳伟多 回复 Perona

jkjlklk
2015-09-10 回复 有任何疑惑可以回复我~
#7

李纳伟多 回复 李纳伟多

sdfsfd
2015-09-11 回复 有任何疑惑可以回复我~
#8

李纳伟多 回复 李纳伟多

wrwre
2015-09-11 回复 有任何疑惑可以回复我~
#9

李纳伟多

sdfs
2015-09-11 回复 有任何疑惑可以回复我~
查看6条回复

为什么我的也不能交互啊   为什么啊  我都检查好几遍了  js也引入了的啊


0 回复 有任何疑惑可以回复我~

oName.onblur=function(){

        //含非法字符

             var re=/[^\w\u4e00-\u9fa5]/g;

             if(re.test(this.value)){

                 name_msg.innerHTML='<i class="err"><i>含非法字符!'

                 }

             else if(this.value==""){

                name_msg.innerHTML='<i class="err"><i>不能为空!'

                 }

             else if(name_length>25){

                name_msg.innerHTML='<i class="err"><i>长度超过25个字符!'

                 }  

             else if(name_length<6){

                name_msg.innerHTML='<i class="err"><i>长度少于6个字符!'

                 }         };

             else{

                name_msg.innerHTML='<i class="ok"><i>OK!'

                 }    

     这段大括号内的每个语句结尾都少了“;”


0 回复 有任何疑惑可以回复我~

如果你下边的js代码是写在HTML文件里面的话  要用<script type="text/javascript"></script>给它包起来   如果是从你的js文件里面粘的话  那是因为你没有引入你自己写的js文件

0 回复 有任何疑惑可以回复我~

代码里面有中文分号,另外if/else判断闭合也有问题。

0 回复 有任何疑惑可以回复我~
#1

Bill0123 提问者

嗯 我也检查出来了 可是改过之后还是不能进行交互啊。。。
2015-09-01 回复 有任何疑惑可以回复我~

你后面部分的js 代码 放哪儿了

0 回复 有任何疑惑可以回复我~
#1

Bill0123 提问者

跟html放在同一个目录里 而且我在html里也引用了js外部文件了呀
2015-09-01 回复 有任何疑惑可以回复我~

亲,你的js代码不是没有引入到html文件中吗

0 回复 有任何疑惑可以回复我~
#1

Bill0123 提问者

应该引入的吧 <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>这句能算引入吗?
2015-09-01 回复 有任何疑惑可以回复我~
#2

chenjs 回复 Bill0123 提问者

这一句引入的是jQuery文件,不是你的个人的js文件。
2015-09-01 回复 有任何疑惑可以回复我~
#3

Bill0123 提问者 回复 chenjs

对了,我还有一个问题要问, 我下载的jquery库如果要用的话是不是建一个js文件夹然后把这个jquery文件和自己写的js文件放在一起,这样对吗?我还没有学过jquery这个问题有点白痴。。
2015-09-01 回复 有任何疑惑可以回复我~
#4

chenjs 回复 Bill0123 提问者

你将下载的jQuery文件放到你的网页站点下,然后在html文件中引入就行,可以不用和自己的js文件放在一起(放在同一个文件夹下只是为了分类规范而已),只要记得将用到的js文件引入就行啦。
2015-09-01 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
表单验证
  • 参与学习       53334    人
  • 解答问题       253    个

表单验证是JavaScript中的高级选项之一,输入框的验证

进入课程

都是按照老师说的打的,大家看看我的代码哪里错了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信