javascript经典题目

本文提供了一系列前端JavaScript脚本实例,包括列表框元素移动、定时器效果、动态显示日期时间、表单验证等功能,并展示了省市二级联动的实现。
1. 实现列表框元素的左右移动。
move.html
<script type="text/javascript">
function move(a,b)
{
var aObj = document.getElementById(a);
var bObj = document.getElementById(b);
for(var i=0;i<aObj.length;i++)
{
if(aObj[i].selected)
{
var opt = new Option(aObj[i].text,aObj[i].value);
bObj.add(opt);
aObj.remove(i);
i--;
}
}
}
</script>
<table width="40%" border="1" bgcolor="#cecece">
<tr>
<td><select id="left" size="6" multiple>
<option value="1">增加简历</option>
<option value="2">删除简历</option>
<option value="3">修改简历</option>
<option value="4">列表简历</option>
</select></td>
<td><input type="button" value=">>"
onclick="move('left','right')"><br>
<input type="button" value="<<"
onclick="move('right','left')"></td>
<td><select id="right" size="6" multiple style="width: 80px">
</select></td>
</tr>
</table>

2. 实现姓名和学号每隔一秒钟互换的效果。
change.html
<script>
//每隔一秒钟学号和姓名互换
var i = 0;
window.onload=change;
setInterval('change()',1000);
function change()
{
if(i%2)
{
document.getElementById("result").innerHTML='姓名:张三';
}else
{
document.getElementById("result").innerHTML='学号:0303003';
}
i++;
}
</script>
<div id="result"></div>

3. 动态显示当前日期时间。
datetime.html
<script>
window.onload=init;
setInterval('init()',1000);
function init()
{
var date = new Date();
var year = date.getYear();
var month = date.getMonth()+1;
if(month<10)month="0"+month;
var day = date.getDate();
if(day<10)day="0"+day;
var hour = date.getHours();
if(hour<10)hour="0"+hour;
var minute = date.getMinutes();
if(minute<10)minute="0"+minute;
var second = date.getSeconds();
if(second<10)second="0"+second;
var dateTime = year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
document.getElementById("dateTime").value= dateTime;
}
</script>
<input type="text" name="dateTime" readonly>

4. 实现全选和反选。
check.html
<script>
//全选
function checkAll()
{
var chAll = document.getElementById("ckAll");
var items = document.getElementsByName("item");
for(var i = 0;i<items.length;i++)
{
items[i].checked = chAll.checked;
}
}
//反选
function reverseAll()
{
var revAll = document.getElementById("revAll");
var items = document.getElementsByName("item");
for(var i = 0;i<items.length;i++)
{
items[i].checked = !items[i].checked ;
}
}
</script>
全选<input type="checkbox" name="ckAll" onclick="checkAll()">/反选<input type="checkbox" name="revAll" onclick="reverseAll()"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>

5. 实现省市二级联动
connAction.html
<script language="javascript">
<!--
var group;
window.onload=init;
function init(){
var len = document.getElementById("province").length;
group=new Array(len);
for (var i=0; i<len; i++)
{
group[i]=new Array();
}

group[0][0]=new Option("北京","北京");
group[0][1]=new Option("上海","上海");
group[0][2]=new Option("天津","天津");
group[0][3]=new Option("重庆","重庆");

group[1][0]=new Option("武汉","武汉");
group[1][1]=new Option("鄂州","鄂州");
group[1][2]=new Option("孝感","孝感");
group[1][3]=new Option("黄冈","黄冈");
group[1][4]=new Option("黄石","黄石");

group[2][0]=new Option("石家庄","石家庄");
group[2][1]=new Option("保定","保定");
group[2][2]=new Option("张家口","张家口");
group[2][3]=new Option("承德","承德");

group[3][0]=new Option("长沙","长沙");
group[3][1]=new Option("湘潭","湘潭");
group[3][2]=new Option("株州","株州");
group[3][3]=new Option("衡阳","衡阳");
group[3][4]=new Option("岳阳","岳阳");
}

function connAction(x){
var city=document.getElementById("city");
for (var m=city.length-1;m>0;m--)
{
city.options[m]=null;
}
for (i=0;i<group[x].length;i++){
city.options[i]=new Option(group[x][i].text,group[x][i].value);
}
}
//-->
</script>
<select name="province"
onChange="connAction(this.selectedIndex)">
<option value="直辖市" selected>直辖市</option>
<option value="湖北">湖北</option>
<option value="河北">河北</option>
<option value="湖南">湖南</option>
</select>

<select name="city">
<option value="北京" selected>北京</option>
<option value="上海">上海</option>
<option value="天津">天津</option>
<option value="重庆">重庆</option>
</select>


6. 实现基本的表单验证功能
formCheck.html
<HTML>
<HEAD>
<TITLE>FormCheck</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE>
TD {
FONT-SIZE: 12px;
COLOR: #333333
}
</STYLE>
<SCRIPT language=JavaScript type=text/JavaScript src="formcheck.js"></SCRIPT>
<SCRIPT language=JavaScript>
<!--
function formCheck(){
if(!isIdno(document.testForm.id.value)){
alert("身份证号码输入有误!要求只能输入数字,长度为16或18位。");
document.testForm.id.focus();
return false;}
if(!isChinaTel(document.testForm.tel.value)){
alert("固定电话号码输入有误!合法的格式为:区号-电话号码。");
document.testForm.tel.focus();
return false;}
if(!isChinaMob(document.testForm.mobi.value)){
alert("移动电话号码输入有误!");
document.testForm.mobi.focus();
return false;}
if(!isMail(document.testForm.mail.value)){
alert("邮箱输入有误!");
document.testForm.mail.focus();
return false;}
if(!isPostCode(document.testForm.post.value)){
alert("邮政编码输入有误!要求只能输入数字,长度为6位。");
document.testForm.post.focus();
return false;}
if(!isNLU(document.testForm.nlu.value)){
alert("该域只能输入数字、字母或下划线!");
document.testForm.nlu.focus();
return false;}
var len=getLength(document.testForm.leng.value);
if(len<4||len>6){
alert("该域要求输入长度范围是4至6个字符!");
document.testForm.leng.focus();
return false;}
}
//-->
</SCRIPT>
<BODY text=#000000 bgColor=#ffffff onload=focusInFirst()>
<CENTER><B><FONT
face="Geneva, Arial, Helvetica, san-serif" color=#ff6600
size=4>The sample of FormCheck</FONT></B> <FONT
face="Arial, Helvetica, sans-serif" size=2>(By Roczhao) </FONT>
<HR width="60%" color=#000000 noShade SIZE=1>

<FORM name=testForm onsubmit="return formCheck();" method=post>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=1>
<TBODY>
<TR>
<TD width=182 height=25>身份证:</TD>
<TD width=312><INPUT name=id></TD>
</TR>
<TR>
<TD width=182 height=25>固定电话:</TD>
<TD width=312><INPUT name=tel></TD>
</TR>
<TR>
<TD width=182 height=25>手机号码:</TD>
<TD width=312><INPUT name=mobi></TD>
</TR>
<TR>
<TD width=182 height=25>邮箱:</TD>
<TD width=312><INPUT name=mail></TD>
</TR>
<TR>
<TD width=182 height=25>邮编:</TD>
<TD width=312><INPUT name=post></TD>
</TR>
<TR>
<TD width=182 height=25>只能输入数字、字母、下划线:</TD>
<TD width=312><INPUT name=nlu></TD>
</TR>
<TR>
<TD width=182 height=25>输入长度在4-6之间:</TD>
<TD width=312><INPUT name=leng></TD>
</TR>
<TR align=middle>
<TD colSpan=2 height=25><INPUT type=submit
value=" 点击测试 " name=Submit></TD>
</TR>
</TBODY>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
formcheck.js
/*js函数文件 formcheck.js*/
/*焦点放置在第一个表单域*/
function focusInFirst(){
document.forms[0].elements[0].focus();}

/*判断用户输入是否为空*/
function isEmpty(ui) {
return (ui==null||ui=="");}

/*取得用户输入的字符串的长度*/
function getLength(ui) {
var i,sum=0;
for(i=0;i<ui.length;i++) {
if ((ui.charCodeAt(i)>=0) && (ui.charCodeAt(i)<=255))
sum++;
else
sum+=2;}
return sum;}

/*是否为数字、字母或下划线*/
function isNLU(ui) {
var valid=/^\w*$/;
return (valid.test(ui));}

/*判断是否为身份证号码*/
function isIdno(ui){
var valid=/(^\d{16}$)|(^\d{18}$)/;
return (isEmpty(ui)||valid.test(ui));}

/*判断是否为邮政编码*/
function isPostCode(ui){
var valid=/^\d{6}$/;
return (isEmpty(ui)||valid.test(ui));}

/*判断是否为固定电话*/
function isChinaTel(ui){
var valid=/^0\d{2,3}\-\d{7,8}$/;
return (isEmpty(ui)||valid.test(ui));}

/*判断是否为移动电话*/
function isChinaMob(ui){
var valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;
return (isEmpty(ui)||valid.test(ui));}

/*判断是否为电话,只能为固定电话或移动电话*/
function isTel(ui){
var valid=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;
return (isEmpty(ui)||valid.test(ui));}

/*判断是否为邮件*/
function isMail(ui){
if(isEmpty(ui)){return true;}
var notValid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;
var valid=/^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;
return (!notValid.test(ui)&&valid.test(ui));}

/*用户输入字符串长度是否在两值之间*/
function isLenBetween(ui,minl,maxl) {
return (ui>=minl&&ui<=maxl);}
【SCI一区复现】基于配电网韧性提升的应急移动电源预配置动态调度(下)—MPS动态调度(Matlab代码实现)内容概要:本文档围绕“基于配电网韧性提升的应急移动电源预配置动态调度”主题,重点介绍MPS(Mobile Power Sources)动态调度的Matlab代码实现,是SCI一区论文复现的技术资料。内容涵盖在灾害或故障等极端场景下,如何通过优化算法对应急移动电源进行科学调度,以提升配电网在突发事件中的恢复能力与供电可靠性。文档强调采用先进的智能优化算法进行建模求解,并结合IEEE标准测试系统(如IEEE33节点)进行仿真验证,具有较强的学术前沿性工程应用价值。; 适合人群:具备电力系统基础知识Matlab编程能力,从事电力系统优化、配电网韧性、应急电源调度等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于复现高水平期刊(SCI一区、IEEE顶刊)中关于配电网韧性与移动电源调度的研究成果;②支撑科研项目中的模型构建与算法开发,提升配电网在故障后的快速恢复能力;③为电力系统应急调度策略提供仿真工具与技术参考。; 阅读建议:建议结合前篇“MPS预配置”内容系统学习,重点关注动态调度模型的数学建模、目标函数设计与Matlab代码实现细节,建议配合YALMIP等优化工具包进行仿真实验,并参考文中提供的网盘资源获取完整代码与数据。
一款AI短视频生成工具,只需输入一句产品卖点或内容主题,软件便能自动生成脚本、配音、字幕特效,并在30秒内渲染出成片。 支持批量自动剪辑,能够实现无人值守的循环生产。 一键生成产品营销与泛内容短视频,AI批量自动剪辑,高颜值跨平台桌面端工具。 AI视频生成工具是一个桌面端应用,旨在通过AI技术简化短视频的制作流程。用户可以通过简单的提示词文本+视频分镜素材,快速且自动的剪辑出高质量的产品营销泛内容短视频。该项目集成了AI驱动的文案生成、语音合成、视频剪辑、字幕特效等功能,旨在为用户提供开箱即用的短视频制作体验。 核心功能 AI驱动:集成了最新的AI技术,提升视频制作效率质量 文案生成:基于提示词生成高质量的短视频文案 自动剪辑:支持多种视频格式,自动化批量处理视频剪辑任务 语音合成:将生成的文案转换为自然流畅的语音 字幕特效:自动添加字幕特效,提升视频质量 批量处理:支持批量任务,按预设自动持续合成视频 多语言支持:支持中文、英文等多种语言,满足不同用户需求 开箱即用:无需复杂配置,用户可以快速上手 持续更新:定期发布新版本,修复bug并添加新功能 安全可靠:完全本地本地化运行,确保用户数据安全 用户友好:简洁直观的用户界面,易于操作 多平台支持:支持Windows、macOSLinux等多个操作系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值