js几个小技巧常用正则表达式
- 博客分类:
- 技术杂绘
js几个小技巧常用正则表达式
2011年05月19日
一项都是js中的小技巧,但十分的实用!
1.document.write(); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getElementById(表单中元素的ID号).name(或value)
6.一个小写转大写的JS: document.getElementById(output).value = document.getElementById(input).value.toUpperCase();
7.JS中的值类型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:parseInt(),parseFloat()
9.JS中的数字转换成字符型:(+变量)
10.JS中的取字符串长度是:(length)
11.JS中的字符与字符相连接使用+号.
12.JS中的比较操作符有:==等于,!=不等于,>,>=,
49.引用一个文件式的JS:
50.指定在不支持脚本的浏览器显示的HTML:
51.当超链和onCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:dfsadf
52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError
53.JS中的换行:\n
54.窗口全屏大小:function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;
55.JS中的all代表其下层的全部元素
56.JS中的焦点顺序:document.getElementByid(表单元素).tabIndex = 1
57.innerHTML的值是表单元素的值:如how are you,则innerHTML的值就是:how are you
58.innerTEXT的值和上面的一样,只不过不会把这种标记显示出来.
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.
60.isDisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与FOCUS()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:onfocus=this.blur()
67.取出该元素在页面中出现的数量:document.all.tags(div(或其它HTML标记符)).length
68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()
69.状态栏文字的设置:window.status=’文字’,默认的状态栏文字设置:window.defaultStatus = ’文字.’;
70.添加到收藏夹:external.AddFavorite(http://www.dannyg.com";,jaskdlf);
71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;
72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.
73.JS中的self指的是当前的窗口
74.JS中状态栏显示内容:window.status=内容
75.JS中的top指的是框架集中最顶层的框架
76.JS中关闭当前的窗口:window.close();
77.JS中提出是否确认的框:if(confirm(Are you sure?)){alert(ok);}else{alert(Not Ok);}
78.JS中的窗口重定向:window.navigate(Error(Not a valid IP address!)
}
}
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
var ip=10.100.20.168
ip=ip.split(.)
alert(IP值是:+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复]
var s=abacabefgeeii
var s1=s.replace(/(.).*\1/g,$1)
var re=new RegExp([+s1+],g)
var s2=s.replace(re,)
alert(s1+s2) //结果为:abcefgi
这个方法对于字符顺序有要求的字符串可能不适用。
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
s=http://www.9499.net/page1.htm
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,$2)
alert(s)
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup=value=/value.replace(/[^\u4E00-\u9FA5]/g,’’) onbeforepaste=clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\u4E00-\u9FA5]/g,’’))
用正则表达式限制只能输入全角字符: onkeyup=value=/value.replace(/[^\uFF00-\uFFFF]/g,’’) onbeforepaste=clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\uFF00-\uFFFF]/g,’’))
用正则表达式限制只能输入数字:onkeyup=value=/value.replace(/[^\d]/g,’’) onbeforepaste=clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))
用正则表达式限制只能输入数字和英文:onkeyup=value=/value.replace(/[\W]/g,’’) onbeforepaste=clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))
********************************************************************************************************************************
几个正则表式的应用无论在Java还是Javascript中对正则表达式都给了非常高效的实现。能够用好正则表达式,事半功倍呀。程序的性能也有非常大的提高。最近使用的经验总结:
1. 在Eclipse中,一段文字变成字符串。Find[(^.*$)] replase ['$1'+] 而在UltraEdit中用的是^1,有些许不同。
2. 在Javascript中的Trim :str.replace(/^\s*|\s*$/g,"");
3. 在Javascript中的去掉空行:str = str.replace(/(\n[\s|\t]*\r*\n)/g, '\n');
4. 在Javascript中的去掉首尾的空行或回行:str.replace(/^[\n|\r\n]*|[\n|\r\n]*$/g,'');
5. 在Javascript中按行分割字符串:split(/[\n|\r\n]{1,}/); 空行不会出现;
6. UE中将'[ ]' 替换为'[{{}}]', find '^[^(*^)^]' replace with '[{{^1}}]'
7. 注释中/** */使用懒惰的匹配方式 .*?来达到中间的注释也能被发现。
*******************************************************************************************************************************
其他语言的一些参考
常用数字验证
正则表达式
"d{n}" n为规定长度
"d{n,m}" n到m的长度范围
中国电话号码验证
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"
中国邮政编码验证
匹配形式如:215421
正则表达式 "d{6}"
电子邮件验证
匹配形式如:justali@justdn.com
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"
身份证验证
匹配形式如:15位或者18位身份证
正则表达式 "d{18}|d{15}"
非法字符验证
匹配非法字符如: & / ' |
正则表达式 [^&/|'\]+
日期验证
匹配形式如:20030718,030718
范围:1900--2099
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}
"^\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d+$" //整数
"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\d+)(\.\d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^\w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url
发表评论
-
捷达学校《初级会计实务》考点解析例题---第八章(一)
2012-01-20 11:43 661捷达学校《初级会计实务》考点解析例题---第八章(一) 20 ... -
股的爸瞎猜想―大股东之谜
2012-01-20 11:43 393股的爸瞎猜想―大股东之谜 2012年01月18日 ... -
小学十一册英语期末测试题(答案)(终于给同学们打完答案了,颈椎已经酸麻。请同学们一定要先认真答题后再对照答案改正。这样才能保证期末考出好成绩!)
2012-01-20 11:43 747小学十一册英语期末测试题(答案)(终于给同学们打完答案了,颈椎 ... -
javascript常用107个技巧-mile-博客园
2012-01-19 16:35 531javascript常用107个技巧-mile-博客园 20 ... -
mongodb update
2012-01-19 16:35 546mongodb update 2011年05月13日 m ... -
JavaScript的例外处理(try...catch...finally)
2012-01-19 16:35 320JavaScript的例外处理(try...catch...f ... -
常用的JS的函数
2012-01-19 16:35 760常用的JS的函数 2010年07 ... -
对比java和python
2012-01-17 06:18 615对比java和python 2011年04 ... -
我的日志
2012-01-17 06:18 2我的日志 18小时前 毋痈“乜ψ不许撤退!菅”把 ... -
[强帖转载]C++、java、.net关系
2012-01-17 06:18 688[强帖转载]C++、java、.net关系 2011年03月 ... -
BusyBox 简化嵌入式 Linux 系统 (转载)
2012-01-17 06:18 323BusyBox 简化嵌入式 Linux 系统 (转载) 20 ... -
程序工具
2012-01-17 06:18 341程序工具 2010年10月15日 开发(Developm ... -
神马都是浮云
2012-01-16 05:00 436神马都是浮云 2012年01月10日 不是穿情侣装就能装 ... -
神马都是浮云
2012-01-16 05:00 450神马都是浮云 2011年12月31日 2011,留住这时 ... -
神马都是浮云
2012-01-16 05:00 439神马都是浮云 2012年01月12日 微博上有专家发布说 ... -
神马不是浮云
2012-01-16 05:00 591神马不是浮云 2012年01月01日 奇迹!真是奇迹 ... -
神马都是浮云
2012-01-16 05:00 485神马都是浮云 2011年12月28日 涉及一点经济学,管 ...
相关推荐
本文将根据给定的内容对正则表达式的几个核心概念进行详细解析。 #### 一、特殊字符及含义 1. **起始位置 (^)** - **定义**:表示字符串的开始。 - **用法**:如果希望匹配字符串的开头部分,可以使用 `^` 符号...
为了更好地理解正则表达式的实际应用,我们可以看看几个具体的例子: 1. **验证邮箱格式**: - 使用正则表达式 `/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/` 可以匹配常见的邮箱格式。 2. **提取电话号码...
4. 编程语言中的应用:讲解如何在JavaScript、Python、Java等常见编程语言中使用正则表达式。 5. 进阶技巧:探讨更复杂的正则表达式用法,如回溯、环视等高级特性。 三、正则表达式1文件详解 压缩包内的“正则...
正则表达式是一种强大的文本处理工具,用于在字符..."正则表达式总结文档(GB-01-01).pdf"这个文档很可能会详细解释这些知识点,并提供更多的实例和技巧,对于想要深入学习正则表达式的读者来说,是一份宝贵的参考资料。
- **功能特性**:支持多种正则表达式引擎,如ECMAScript(JavaScript)、PCRE(Perl Compatible Regular Expressions)等。 - **匹配模式**:可选择是否区分大小写,是否全局匹配,是否多行模式等。 - **解释器**...
正则表达式主要包含以下几个核心概念: 1. **模式匹配符**:例如`.`代表任意字符,`\d`代表数字,`\w`代表字母、数字或下划线等。这些特殊字符可以帮助我们构建复杂模式。 2. **量词**:如`*`表示前面的元素可以...
以上列举了几种常用的正则表达式技巧及其在网页编程中的实际应用。这些技巧不仅可以提高用户体验,还能有效防止非法数据的输入,是前端开发中不可或缺的一部分。通过合理的使用正则表达式,我们可以更好地控制用户的...
本文将通过一个日期格式验证函数来详细介绍正则表达式的使用方法及其在JavaScript中的具体实现。 #### 二、正则表达式基础 正则表达式由一系列字符和特殊符号组成,用于定义查找模式。在JavaScript中,可以通过两...
在实际应用中,正则表达式查找通常涉及以下几个步骤: 1. **定义模式**:根据需求创建正则表达式模式,例如,如果我们想要查找所有邮箱地址,模式可能是`\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b`。 ...
根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 一、HTML中使用正则表达式限制输入 在HTML表单元素(如`<input>`)中,可以通过JavaScript结合正则表达式来限制用户输入的内容类型。这种方法可以...
4. **正则表达式引擎**:书中还涉及了不同引擎(如Perl、JavaScript、Java、.NET等)之间的差异,帮助读者理解如何在不同环境中优化正则表达式。 5. **实践应用**:通过大量实例,作者展示了如何在实际项目中运用...
10. **使用环境**:正则表达式在不同编程语言中的实现可能有所不同,例如JavaScript、Python、Java等,了解其差异有助于跨平台开发。 11. **实战应用**:通过实例学习如何使用正则表达式提取电子邮件地址、URL、...
文件中还提供了几个JavaScript函数,用于验证特定类型的输入是否符合预期的正则表达式规则: - `isDigit(s)`:验证`s`是否为1到20位的纯数字。 - `isRegisterUserName(s)`:验证用户名是否以字母开始,且总长度介于5...
在“正则表达式CHM系统教程”中,你将深入学习到关于正则表达式的核心概念和实用技巧。教程可能涵盖了以下几个方面: 1. **基础概念**:首先,教程会介绍什么是正则表达式,以及它在数据处理中的作用。正则表达式由...
7. **修饰符或标志**:如`i`(忽略大小写)、`g`(全局匹配)、`m`(多行模式)等,它们可以改变正则表达式的匹配行为。 8. **实际应用**:结合实例,演示如何在各种编程语言中使用正则表达式进行字符串操作,如...
18. **正则表达式函数库**:不同的编程语言有不同的正则库,如JavaScript的`RegExp`对象,Python的`re`模块。 19. **正则表达式在线测试工具**:如Regex101、RegExr等,帮助用户调试和测试正则表达式。 20. **实际...
### 正则表达式知识点详解 ...正则表达式是文本处理和字符串操作的重要工具,熟练掌握其基本语法和常用技巧对于进行高效的数据清洗、文本搜索等工作至关重要。希望本文对您理解和应用正则表达式有所帮助。