<Javascript>图灵丛书例子:检查日期格式

本文介绍了一个简单的HTML页面,该页面使用JavaScript进行日期格式验证。当用户输入不符合DD/MM/YY格式的日期时,会显示错误消息。
参照图灵丛书上面的检查日期格式例子,其中html代码如下:
<!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>
<script type="text/javascript" src="checkdate.js"></script>
<style type="text/css">
.error{
	color:#c00;
	font-weight:bold;
}
</style>
</head>

<body>
<h1>Event Search</h1>
<form action="Js_2.html" method="post" onsubmit="return checkDate();">
	<p>
    	<label for="date">Date in format DD/MM/YY:</label><br />
        <input type="text" id="date" name="date" />
        <input type="submit" value="Check" />
		<!-- 注意此处span标签中间有一个空格-->
        <br />(example 24/04/1975)<span class="error"> </span>
    </p>
</form>
</body>
</html>

checkdate.js部分代码如下:

// JavaScript Document
function checkDate(){
	if(!document.getElementById || !document.createTextNode){return;}
	var dateField = document.getElementById('date');
	if(!dateField){return;}
	var errorContainer = dateField.parentNode.getElementsByTagName('span')[0];
	if(!errorContainer){return;}
	var checkPattern = new RegExp("\\d{2}/\\d{2}/\\d{4}");
	var errorMessage = '';
	errorContainer.firstChild.nodeValue = ' ';
	var dateValue = dateField.value;
	if(dateValue == ''){
		errorMessage = 'Please provide a date.';
	}else if(!checkPattern.test(dateValue))
	{
		errorMessage = 'Please provide the date in the defined format.';
	}
	if(errorMessage!=' ')
	{
		errorContainer.firstChild.nodeValue = errorMessage;
		dateField.focus();
		return false;
	}else{
		return true;
	}
}



 

<think>嗯,用户之前已经问过HTML结构标签的概述,现在他们想要更详细了解<section>、<article>、<figure>和<figcaption>这几个标签。我需要确保我的回答比之前的更深入,并且提供具体的例子。 首先,我需要分别解释每个标签的用途和语义。用户可能想知道何时使用这些标签,以及它们之间的区别。例如,<section>和<article>有时候容易混淆,需要明确区分它们的使用场景。 接下来,要提供每个标签的示例代码,这样用户能直观地看到如何应用这些标签。同时,要强调语义化的重要性,比如SEO优化和可访问性方面的影响,这样用户能理解为什么使用这些标签而不是普通的<div>。 用户可能还会关心这些标签在HTML5中的新增功能,以及如何正确嵌套使用。例如,<figure>和<figcaption>通常一起使用,需要说明它们的正确结构。 另外,要注意用户之前的问题中提到的格式要求,比如使用中文、结构清晰、LaTeX正确等。确保回答中没有使用任何Markdown格式,而是用自然的分段和标点来组织内容。 可能还需要比较这些标签和其他类似标签的区别,比如<section>和<div>的不同,或者<article>与<section>的适用场景。这有助于用户避免常见的错误用法。 最后,要检查是否有遗漏的信息,比如是否每个标签都有详细的示例和注意事项。确保回答覆盖了用户需求的所有方面,并且内容准确可靠。</think>好的!以下是 `<section>`, `<article>`, `<figure>`, `<figcaption>` 的详细解释与示例,帮助您理解它们的语义和用法: --- ### **1. `<section>`:定义内容区块** #### **用途** - 表示文档中的一个逻辑区块,通常围绕一个**主题**或**功能**(如章节、页面的某个独立部分)。 - 必须有**明确的标题**(用 `<h1>`-`<h6>`),否则可能被误用。 #### **示例** ```html <section> <h2>用户评价</h2> <p>以下是用户对本产品的反馈:</p> <div class="reviews"> <p>用户A:非常好用!</p> <p>用户B:性价比高</p> </div> </section> ``` #### **常见场景** - 文章的分段章节 - 产品介绍的不同模块(参数、评价、问答) - 页面中独立的功能区块(如注册表单区域) --- ### **2. `<article>`:定义独立内容** #### **用途** - 表示**可独立分发或复用**的内容(如新闻、博客、评论、帖子),脱离上下文后仍有意义。 - 通常包含完整的标题、正文、作者、发布时间等信息。 #### **示例** ```html <article> <header> <h3>如何学习HTML5</h3> <p>作者:张三 | 发布时间:2023-10-01</p> </header> <section> <p>HTML5是当前主流的网页标准...</p> </section> <footer> <p>标签:前端, 教程</p> </footer> </article> ``` #### **常见场景** - 博客列表中的单篇文章 - 论坛中的一条帖子 - 新闻网站中的一篇报道 --- ### **3. `<figure>` + `<figcaption>`:插入媒体与说明** #### **用途** - **`<figure>`**:包裹图片、图表、代码块、引用等**独立媒体内容**。 - **`<figcaption>`**:为 `<figure>` 内容添加标题或说明(需放在 `<figure>` 内部,位置可前可后)。 #### **示例** ```html <figure> <img src="chart.png" alt="2023年销售趋势图"> <figcaption>图1:2023年季度销售额增长情况(单位:万元)</figcaption> </figure> <!-- 或代码块示例 --> <figure> <figcaption>JavaScript 示例代码</figcaption> <pre><code> function hello() { console.log("Hello World!"); } </code></pre> </figure> ``` #### **常见场景** - 为图片添加技术性说明(如数据来源、参数) - 展示代码片段并标注用途 - 引用外部内容时注明出处 --- ### **4. 关键区别与注意事项** #### **`<section>` vs `<article>`** - **独立性**: - `<article>` 是完整内容,可独立存在(如单独分享)。 - `<section>` 是页面或文章中的一部分,依赖上下文理解。 - **嵌套关系**: - `<article>` 内部可以包含多个 `<section>`。 - `<section>` 中也可以包含 `<article>`(如论坛板块中的帖子)。 #### **`<figure>` 使用技巧** - 一张图可以对应多个 `<figcaption>`(但通常建议一对一)。 - 如果图片仅为装饰性(无信息价值),无需使用 `<figure>`,直接用 `<img>`。 --- ### **5. 完整综合示例** ```html <article> <h2>人工智能发展简史</h2> <section> <h3>1950年代:概念诞生</h3> <p>图灵提出“图灵测试”...</p> <figure> <img src="turing-machine.jpg" alt="图灵机模型"> <figcaption>图灵机理论模型示意图</figcaption> </figure> </section> <section> <h3>21世纪:深度学习突破</h3> <p>AlphaGo击败人类棋手...</p> <figure> <img src="alpha-go.jpg" alt="AlphaGo比赛现场"> <figcaption>2016年AlphaGo与李世石对弈</figcaption> </figure> </section> </article> ``` --- ### **总结** - **语义优先**:用标签明确内容性质(如 `<article>` 强调独立性,`<section>` 划分主题)。 - **SEO 友好**:正确使用标签可提升搜索引擎对内容的理解。 - **可访问性**:帮助屏幕阅读器准确识别区块功能。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值