会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132456个问题

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			body{
				background-color: aquamarine;
			}
		</style>
		
		<script>
			// *****************************用户名校证******************************************
			function checkName(){
				// 获取输入的值
				var name = document.getElementById("userName").value;
				// 获取到nameSpan对象
				var span = document.getElementById("nameSpan");
				// 汉字的正则表达式
				var reg = /^[\u4e00-\u9fa5]{1,6}$/;
				// 验证输入值是否为空
				if(name == null || name == ""){
					span.style.color = "red";
					span.innerText = "用户名不能为空";
					return false;
				}else if(reg.test(name)){
					span.style.color = "green";
					span.innerText = "用户名输入正确";
					return true;
				}else{
					span.style.color = "red";
					span.innerText = "用户名输入错误";
					return false;
				}
			}
			
			// **************************************密码校验***********************************
			function checkPwd(){
				// 获取输入的密码
				var value = document.getElementById("pwd").value;
				// 获取密码里的span对象
				var span = document.getElementById("pwdSpan");
				// 数字正则表达式
				var reg = /^-?[1-9]{6,12}$/;
				// 验证是否为空已经合法性
				if(value == null || value == ""){
					span.style.color = "red";
					span.innerText = "密码不能为空"
					return false;
				}else if(reg.test(value)){
					span.style.color = "green";
					span.innerText = "密码输入正确"
					return true;
				}else{
					span.style.color = "red";
					span.innerText = "密码输入错误"
					return false;
				}
			}
			
			// ***************************************通用校验*********************************************
			function check(id,reg){
				var user = document.getElementById(id);
				var value = user.value;
				var alt = user.alt;
				var span = document.getElementById(id + "Span");
				if(value == null || value == ""){
					span.style.color = "red";
					span.innerText = alt + "不能为空";
					return false;
				}else if(reg.test(value)){
					span.style.color = "green";
					span.innerText = alt + "输入正确";
					return true;
				}else{
					span.style.color = "red";
					span.innerText = alt + "输入错误";
					return false;
				}
			}
			
			// **********************************国内电话号校验*************************************
			function checkTelephone(){
				var reg = /^[0-9]{11}$/;
				check("telephone",reg);
			}
			
			// *************************************邮箱校验************************************
			function checkEmail(){
				var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				check("email",reg);
			}
			
			// *************************************性别校验*************************************
			function checkSex(){
				// 通过name获取所有对象
				var sex = document.getElementsByName("sex");
				// 获取span对象
				var span = document.getElementById("sexSpan");
				for(var i in sex){
					// checked判断是否选中了(return用来结束循环)
					if(sex[i].checked){
						span.style.color = "green";
						span.innerText = "选择完成";
						return true;
					}
				}
				span.style.color = "red";
				span.innerText = "请选择性别";
				return false;
			}
			
			// ***********************************爱好校验***********************************
			function checkHobby(){
				// 通过name获取所有对象
				var hobby = document.getElementsByName("dx");
				//获取span对象
				var span = document.getElementById("hobbySpan");
				for(var i in hobby){
					if(hobby[i].checked){
						span.style.color = "green";
						span.innerText = "选择完成";
						return true;
					}
				}
				span.style.color = "red";
				span.innerText = "请选择";
				return false;
			}
			
			// *******************************籍贯校验*******************************************
			function checkAddress(){
				// 获取对象的value值
				var value = document.getElementById("address").value;
				// 获取span对象
				var span = document.getElementById("addressSpan");
				if(value == 0){
					span.style.color = "red";
					span.innerText = "请选择";
					return false;
				}else{
					span.style.color = "green";
					span.innerText = "选择完成";
					return true;
				}
			}
		
			// *****************************验证码生成**************************************
			var number
			function YZM(){
				// 获取sapn对象
				var span = document.getElementById("yzmSpan");
				// 生成四位随机数字
				number = Math.ceil(Math.random() * 9000 + 1000);
				// 把生成数字写入
				span.innerText = number;
			}
			
			// ***********************************验证码校验**********************
			function checkYZM(){
				// 获取验证码对象输入的值
				var value = document.getElementById("yzm").value;
				// 获取span对象
				var span = document.getElementById("checkSpan2");
				if(value == number){
					span.style.color = "green";
					span.innerText = "验证码输入正确";
					return true;
				}else{
					span.style.color = "red";
					span.innerText = "验证码输入错误";
					return false;
				}
			}
			
			// **********************************选择框校验*************************************
			function checkAgree(){
				// 获取选择框对象
				var checkbox = document.getElementById("check");
				// 获取按钮对象
				var submit = document.getElementById("sub");
				// 判断是否被勾选了
				if(checkbox.checked){
					submit.disabled = false;
				}else{
					submit.disabled = true;
				}
			}
			
			// ************************************提交的总校验*****************************************
			function all(){
				var flag = checkName()&&checkPwd()&&checkTelephone()&&checkEmail()&& checkSex()&&checkHobby()&&checkAddress()&&checkYZM();
				return flag;
			}
		</script>
	</head>
	<body onload="YZM()">
		<center>
			<h1>注册页面</h1>
			<hr >
		<form action="" method="get" onsubmit="return all()" >
			<table>
				<tr height="30px">
					<td width="150px">用户名:</td>
					<td>
						<input type="text" id="userName" onblur="checkName()"/>
						<span id="nameSpan">请输入1~6位的汉字</span>
					</td>
				</tr>
				<tr height="30px">
					<td>密码:</td>
					<td>
						<input type="password"  id="pwd" onblur="checkPwd()"/>
						<span id="pwdSpan">请输入6~12位数字</span>
					</td>
				</tr>
				<tr height="30px">
					<td>手机号:</td>
					<td>
						<input type="text" alt="手机号" id="telephone" onblur="checkTelephone()"/>
						<span id="telephoneSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>邮箱:</td>
					<td>
						<input type="email" alt="邮箱" id="email" onblur="checkEmail()"/>
						<span id="emailSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>性别:</td>
					<td>
						男:<input type="radio" value="0" name="sex" onclick="checkSex()"/>
						女:<input type="radio" value="1" name="sex" onclick="checkSex()"/>
						<span id="sexSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>爱好:</td>
					<td>
						<input type="checkbox" value="1" name="dx" onclick="checkHobby()"/>游戏
						<input type="checkbox" value="2" name="dx" onclick="checkHobby()"/>漫画
						<input type="checkbox" value="3" name="dx" onclick="checkHobby()"/>篮球
						<input type="checkbox" value="4" name="dx" onclick="checkHobby()"/>读书
						<input type="checkbox" value="5" name="dx" onclick="checkHobby()"/>听歌
						<input type="checkbox" value="6" name="dx" onclick="checkHobby()"/>蹦迪
						<span id="hobbySpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>籍贯</td>
					<td>
						<select id="address" onchange="checkAddress()">
							<option value="0">--请选择--</option>
							<option value="1">海贼王</option>
							<option value="2">火影忍者</option>
							<option value="3">刺客信条</option>
							<option value="4">LOL</option>
							<option value="5">斗罗大陆</option>
							<option value="6">斗破苍穹</option>
						</select>
							<span id="addressSpan"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>验证码</td>
					<td>
						<input type="text" id="yzm" onblur="checkYZM()"/>
						<span id="yzmSpan"></span>
						<span id="checkSpan2"></span>
					</td>
				</tr>
				<tr height="30px">
					<td>个人介绍</td>
					<td>
						<textarea rows="20" cols="30"></textarea>
					</td>
				</tr>
				<tr height="30px">
					<td colspan="2" align="center">
						<input type="checkbox" id="check" onclick="checkAgree()"/>
						<span>是否同意本公司协议</span>
					</td>
				</tr>
				<tr height="30px">
					<td colspan="2" align="center">
						<!-- disabled是不可用的意思,可以看 -->
						<input type="submit" value="注册" disabled="true" id="sub"/>
					</td>
				</tr>
			</table>
		</form>
		</center>
	</body>
</html>
<!-- 正则表达式:正则表达式是对于数据格式进行一定的规范限制
	^:开始
	[0-9]  [a-z A-Z] :数字  字母
	{2,4} :段域 至少是2位  最多是4位
	{3}:指定范围就是3位
	{2,}:至少是2位
	$:结束
	\d:[0-9]
	\w[0-9 a-z A-Z] -->

老师所有的验证都可以,但就是最后汇总提交的时候没有作用直接就可以提交,什么原因?????

JAVA 全系列/第四阶段:网页编程和设计/Javascript 语言(旧) 4937楼
JAVA 全系列/第七阶段:生产环境部署与协同开发/Linux 4938楼

问题点:同样是打印集合,为什么

System.out.println(list);
打印的是地址
System.out.println(list2);
打印的是集合
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**(1)toarray()
 *     public <T> T[] toArray(T[] a) {
        if (a.length < size)
            // Make a new array of a's runtime type, but my contents:
            return (T[]) Arrays.copyOf(elementData, size, a.getClass());
        System.arraycopy(elementData, 0, a, 0, size);
        if (a.length > size)
            a[size] = null;
        return a;
    }
 * */

public class Test {
	public static void main(String[] args){
		/**集合转成数组*/
		ArrayList<String> a1 = new ArrayList<String>();
		a1.add("hello");
		a1.add("hello");
		a1.add("hello");
		Object[] obj = a1.toArray();
		for(Object object: obj){
			System.out.println(object);
		
		}
		System.out.println("_____________");
		String []strArray = new String[1];//创建数组对象
		strArray = a1.toArray(strArray);   //用toArray()方法把集合转成数组
		for(String str: strArray){
			System.out.println(str);
		}
		/**数组转成集合
		 * public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }
		 * */
		int [] array = {11,22,33};
		List list = Arrays.asList(array);//相当创建新的ArrayList对象
		System.out.println(list);
		
		System.out.println("------------");
		Integer[] array2 = new Integer []{11,22,33};
		List <Integer> list2 = Arrays.asList(array2);
		System.out.println(list2);
	}

}

打印:

image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 4939楼
Python 全系列/第七阶段:网页编程基础/html5 4940楼

  class Login1 {
            createout() {  //这个函数的返回值就是一个div标签
                var odiv = document.createElement('div');
                odiv.innerHTML = '我是一个登录框'
                document.body.appendChild(odiv);  //把这个div加进去
                odiv.style.display = 'none';  //这个登录框默认是不显示的
                return odiv
            }
        }
        class Singleton {  //这个是在初始化的时候 做一个动态判断 单例模式
            constructor(name) {
                if (Singleton.aaa) {  //有属性? 那么就返回这个属性  实际上后面再进来 返回的永远都是第一次进来的属性
                    return Singleton.aaa;
                }
                Singleton.aaa = this;  //第一次进来没有属性 你就等于我们this  
                this.name = name  //  即当前正在创建的实例  赋值给 Singleton.aaa。
            }
        }

        var l11 = new Login1();
        // var s11 = new Singleton(l11.createout());
        // var s2= new Singleton('222');
        // console.log(s1===s2);  //true   这里注释的是 测试我们创建2个实例对象 时候相等  验证单例模式时候成功
        var btn = document.getElementById('btn');
        btn.onclick = function () {
            // console.log('点击了一下');  //测试点击事件有无触发 
            var s11 = new Singleton(l11.createout());  //无论这个声明丢在哪里 他的对象s11永远只会生成一次
            s11.name.style.display = 'block';
        }

以上是用另外一种思路实现的 ,再类的初始化阶段 创建一个单例模式


主要是课堂这段话 闭包+判断每太能完全明白

return result || (result = fn.apply(this, arguments))


WEB前端全系列/第八阶段:JavaScript设计模式模块/JavaScript设计模式 4941楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 4944楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637