`

前端知识点分享2--正则,选择器

 
阅读更多
//去除左右空格
//最简洁版本

function trim(str){
//写的严谨点,这里要判断str是不是字符串
return str.replace(/^\s* | \s*$/g,'');

}

//自己想的另外一种写法
function trim(str){
//写的严谨点,这里要判断str是不是字符串,
//并且判断正则reg.exec(str)是否能匹配到
var reg=/^\s*(.*\S)\s*$/;
return str.replace(reg,reg.exec(str)[1]);
}
补充另外一个刚刚想到的

function trim(str){ return str.replace(/^\s*(.*\S)\s*$/,'$1'); }



 


 

 

<ul id="testdom">
               <li>1</li>
               <li>2</li>
               <li>3</li>
</ul>
//替换li中文本为3的内容

//这个怎么理解?
1:替换最后一个节点的文本内容
document.getElementById("testdom").lastChild.innerText="要替换的文本";
或者(节点数已知)
document.getElementById("testdom").children[2].innerText="要替换的文本";

2:只要文本为3,那么就替换这个节点的内容
var ul=document.getElementById("testdom");
var lis=ul.getElementsByTagName("li");
for循环判断内容进行替换

 

//统计字符串出现的字数

 

顺便说一下正则表达式的基本知识,等以后有空补充完整版本
以下内容引用地址http://www.iteye.com/topic/481228/
.     IE下[^\n],其它[^\n\r]  匹配除换行符之外的任何一个字符 
\d    [0-9]                   匹配数字 
\D    [^0-9]                  匹配非数字字符 
\s    [ \n\r\t\f\x0B]         匹配一个空白字符 
\S    [^ \n\r\t\f\x0B]        匹配一个非空白字符 
\w    [a-zA-Z0-9_]            匹配字母数字和下划线 
\W    [^a-zA-Z0-9_]           匹配除字母数字下划线之外的字符 



量词(下表量词单个出现时皆是贪婪量词) 

代码  描述 
*     匹配前面的子表达式零次或多次。
+     匹配前面的子表达式一次或多次。
?     匹配前面的子表达式零次或一次。 等价于 {0,1}。 
{n}   n 是一个非负整数。匹配确定的 n 次。
{n,}  n 是一个非负整数。至少匹配n 次。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。


贪婪量词与惰性量词 

惰性量词仅仅在贪婪量词后面加个"?"而已,如"a+"是贪婪匹配的,"a+?"则是惰性的 

var str = "abc";  
var re = /\w+/;//将匹配abc  
re = /\w+?/;//将匹配a  

多行模式 

var re = /[a-z]$/;  
    var str = "ab\ncdef";  
    alert(str.replace(re,"#"));//ab\ncde#  
    re =/[a-z]$/m;  
    alert(str.replace(re,"#"));//a#\ncde#  


分组与非捕获性分组 
//捕获性分组
re = /abc{2}/;//将匹配abcc  
re = /(abc){2}/;//将匹配abcabc  

  
str = "abcabc ###";  
arr = re.exec(str);  
alert(arr[1]);//abc  
//非捕获性分组 (?:)  
re = /(?:abc){2}/;  
arr = re.exec(str);  
alert(arr[1]);//undefined  


候选(也就是所说的“或”) 

re = /^a|bc$/;//将匹配开始位置的a或结束位置的bc  
str ="add";  
alert(re.test(str));//true  
re = /^(a|bc)$/;//将匹配a或bc  
str ="bc";  
alert(re.test(str));//true  


当包含分组的正则表达式进行过test,match,search这些方法之后,每个分组都被放在一个特殊的地方以备将来使用,这些存储是分组中的特殊值,我们称之为反向引用 

var re = /(A?(B?(C?)))/;  
/*上面的正则表达式将依次产生三个分组 
(A?(B?(C?))) 最外面的 
(B?(C?)) 
(C?)*/  
str = "ABC";  
re.test(str);//反向引用被存储在RegExp对象的静态属性$1—$9中  
alert(RegExp.$1+"\n"+RegExp.$2+"\n"+RegExp.$3);  
//反向引用也可以在正则表达式中使用\1 ,\2...这类的形式使用  
re = /\d+(\D)\d+\1\d+/;  
str = "2008-1-1";  
alert(re.test(str));//true  
str = "2008-4_3";  
alert(re.test(str));//false  

 

分享到:
评论

相关推荐

    前端知识点总结

    ### 前端知识点总结 #### 一、前端基础知识概览 前端开发是现代网站建设和应用开发的重要组成部分,涉及HTML、CSS、JavaScript等核心技术。掌握前端基础知识不仅有助于提高开发效率,还能帮助开发者更好地应对面试...

    前端面试题---不求最全只求更全

    前端开发中常用JQuery来快速实现某些功能,例如选择器的使用、事件绑定、动画效果、AJAX调用和DOM操作等。 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术...

    前端大厂最新面试题-猪八戒2018秋招前端试题.docx

    下面是根据提供的文件信息生成的知识点: 1. 前端即时通信技术:XHR-polling、Prefetch、history.pushState、websocket 等。 在上面的选择题中,问题 1 问的是哪些技术可以构建前后端即时通信。答案是 XHR-polling...

    正则表达式校验工具

    通过掌握以上知识点,开发者可以有效地利用正则表达式校验工具进行前端验证,确保用户输入的数据格式正确,从而提高应用程序的质量和用户体验。同时,熟练运用正则表达式还能提升开发效率,降低代码复杂性。在实际...

    前端大厂最新面试题-前端开发面试.docx

    下面我们将分解这些知识点,详细解释每个方面的重要性和相关问题。 HTML 和 CSS 在 HTML 和 CSS 方面,候选人需要了解 Web 标准、浏览器内核差异、兼容性、hack、CSS 基本功:布局、盒子模型、选择器优先级及使用...

    jq非空验证,js正则表达式验证邮箱和手机号码

    以下是关于这些知识点的详细说明: 1. **jQuery(jq)非空验证**: jQuery是一种轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。在前端表单验证中,jQuery可以方便地检测用户输入...

    正则表达式.rar || 正则表达式.rar

    4. 选择器:"|"符号用于表示选择,如"a|b"匹配'a'或'b'。 5. 重复模式:"{n,m}?"(懒惰匹配)和"{n,m}+"(贪婪匹配)控制量词的匹配行为,前者尽可能少匹配,后者尽可能多匹配。 三、正则表达式在编程语言中的应用 1....

    Javascript完全自学宝典

    ### JavaScript完全自学宝典知识点概览 #### 一、JavaScript基础知识 ... - **核心知识点**: ... - CSS的选择器、盒模型、布局方式等基本概念。...希望通过对这些知识点的学习,能够提升你在前端开发领域的技能水平。

    前端 jq、js、html、正则等的API文档,CHM格式

    本文将深入探讨这些知识点,帮助开发者更好地理解和应用。 首先,JavaScript是一种广泛使用的客户端脚本语言,它在浏览器环境中运行,赋予了静态HTML页面动态功能。JavaScript API包括DOM操作、BOM(浏览器对象模型...

    正则取html中table中td中的值

    下面将详细介绍这个过程及其相关知识点。 首先,理解HTML结构是关键。`&lt;table&gt;`标签定义了一个表格,而`&lt;tr&gt;`(表格行)和`&lt;td&gt;`(表格数据)是其子元素。`&lt;td&gt;`通常包含表格中的实际数据。因此,我们的目标是找到...

    blog::right-facing_fist:前端知识点归档:left-facing_fist:

    **前端知识点归档** 在前端开发领域,掌握各种知识点是至关重要的。本文将根据标题“blog::right-facing_fist:前端知识点归档:left-facing_fist:”和描述,结合标签"markdown, vue, vuepress, vuepress-plugin, ...

    1+X WEB前端开发初级教案.pdf

    这份教案主要覆盖了Web前端开发初级阶段的核心知识点,包括Web页面制作基础、HTML标签的使用、CSS样式设计、JavaScript编程基础,以及轻量级框架jQuery的应用。下面将详细介绍各个部分的知识点: ### Web前端开发...

    Tduck填鸭在线收集系统 v3.0 前端源码.zip

    在Tduck填鸭在线收集系统中,前端源码可能涉及到以下关键知识点: 1. **数据交互**:前端通过Ajax或者Fetch API与后端服务器进行数据通信,实现数据的获取、提交和更新。这通常涉及到JSON格式的数据传输,以及错误...

    JQ 内容过滤选择器

    本文将深入探讨"JQ内容过滤选择器"这一关键知识点,它是jQuery选择器体系中的一个重要组成部分,用于从DOM树中筛选出符合特定条件的元素。 一、JQ内容过滤选择器概述 内容过滤选择器允许我们根据元素内部的文本或...

    前端面试必看知识点

    11. 前端开发面试知识点大纲:这一部分总结了前端工程师需要掌握的包括HTML、CSS、JavaScript、Node.js、JSON、AJAX、HTTP、安全、正则表达式、优化、重构、响应式设计、移动端开发、团队协作、代码维护、搜索引擎...

    前端笔记js和vue

    根据提供的文件信息,我们可以归纳出一系列重要的前端技术知识点,这些知识点涵盖了从JavaScript基础到Vue.js的应用,以及HTML5、CSS3、jQuery等关键技术领域。下面将详细解释每一部分的关键知识点。 ### 第1章 JS ...

    时间格式验证

    在IT领域,特别是前端开发中,时间格式验证是一项常见的任务,尤其在表单提交或日期时间选择器的应用场景中更为突出。根据提供的文件信息,我们可以深入探讨与“时间格式验证”相关的JavaScript知识点。 ### 一、...

    WEB前端开发课程计划

    ### WEB前端开发课程计划知识点概览 #### 一、课程安排 - **培训周期**:为期2个月。 - **上课时间**:工作日晚上19:00至21:00;周末上午8:30至11:30,下午13:30至16:30。 - **每课时长度**:50分钟,课间休息10...

    web前端初级.pdf

    本次串讲教案初级内容涵盖Web前端开发的多个基础知识点,接下来将按照教案内容逐一阐述。 首先,在Web页面制作基础这一部分,首先介绍了HTML的基本结构,包括HTML文档的声明、头部和主体部分。接着详细讲解了HTML中...

    java jquery css javaScript mySql HTML jtsl 正则表达式 Spring 帮助文档

    jQuery_CHM文件会涵盖选择器、事件处理函数、插件开发等内容,是前端开发的常用工具。 3. **CSS**: CSS(层叠样式表)用于定义网页的布局和外观。CSS2.0和“css样式表中文手册”将详细介绍选择器、盒模型、布局模式...

Global site tag (gtag.js) - Google Analytics