你网站底部的版权声明写对了吗?

​“Copyright©2015-2017 隔壁家程序猿 All Rights Reserved.”

本文只讲两个问题:第一、为什么写版权声明?第二、如何正确写出版权声明?如何实现网站底部版权年份信息实时更新实现自动延期?

一、为什么写版权声明

说到网站底部版权的声明,不得不提《伯尔尼公约》,即《保护文学和艺术作品伯尔尼公约》,是关于著作权保护的国际条约,于1886年9月9日在瑞士伯尔尼制定,而我国于1992年10月15日成为该公约的成员国。

在网站底部声明版权的方式最早起源于美国,从法律角度看,凡是加入伯尔尼公约的国家,版权保护都是随着作品的问世立即得到版权保护的,从这一点看,网站底部版权又并不是必须声明的。

二、正确的版权声明

由于如果真的发生侵权需要维权,仍然需要通过其他法律途径来判断版权归属,况且执行起来难度与成本都很高,所以并不是必须声明的,也没有严格的规定。

不过,作为惯例,这样的一行文字能够加强保护意识,提醒网站的访客他所看的内容是受到版权保护的。最常见的是Copyright符号© 年份 主体,具体如何排列,比较自由,主要从页面视觉效果方面做决策。

为什么写版权声明?第二、如何正确写出版权声明?如何实现网站底部版权年份信息实时更新实现自动延期?

看几个大网站的版权声明

经常看到有一些网站,甚至是比较正规的企业网站,底部版权信息有误。

比如现在已经是2017年了,版权信息里还显示为2004-2014。如何保持实时更新版权信息,自动延长版权年限呢?除了人为修改网页或者修改版权信息,我们还可以在网页中加一小段javascript代码来实现实时更新版权年份。

实时更新版权年份的Javascript代码:  

为什么写版权声明?第二、如何正确写出版权声明?如何实现网站底部版权年份信息实时更新实现自动延期?

上述代码得到的版权信息如下:

Copyright©2015-2017 隔壁家程序猿 zzuyxg.top All Rights Reserved.

再比如使用(C)代替Copyright符号©,这是不对的,比如:

(c)2012-2016 麦哲伦科技 yunjinet.com All Rights Reserved。

其中就有两处错误,一是版权符号错误,既没有使用Copyright又没有使用Copyright符号©,二是年份,应该是在网页中写死的,没来得及修改吧。

如何输出Copyright符号©呢?用中文输入法直接打“版权”就会提示版权符号,再不行网上搜一个也可以复制也可以的。

网站底部版权虽然不是必须声明的,但也不能随便声明,以免贻笑大方。

本文转载于:http://blog.sina.com.cn/s/blog_70e50f090102x67h.html

电影《了凡四训》

国语电影版《了凡四训》,本片由陈晓旭女士创立的世邦公司2001年所投资拍摄, 根据明代袁了凡先生的真实传奇故事改编,并邀请著名导演黄蜀芹的儿子郑大圣执导,由著名演员达式常担当主演,是一部带有佛教性质的中华传统道德教典。 电影《了凡四训》,原型是种德立命、修身治世类同名教育书籍《了凡四训》。书籍作者为明代袁黄,字坤仪,后改名了凡,作于六十九岁,全文分四个部分,作者以自己的亲身经历,讲述了改变命运的过程。原本为教训自己

DW高级篇:如何批量替换超链接标签?

Dreamweaver替换一些简单的字符,并不知道Dreamweaver中还有如此强大的功能,下面我们就来看看两种实用的替换技巧。
一、正则表达式替换法

正则式真是个万能手,用好了你就能解决许多复杂的问题,操作同样如上,编辑>>查找替换,步骤如下:

下面选项里选中”使用正则表达式”
然后点替换全部,这样就把页面中所有的<a href=”***”>都替换掉了,然后再用同样的方法把</a>替换掉,注意替换</a>就不用正则了。
查找栏填:<a href=”.*”>
替换栏为空
如果要替换某个目录下所有文件,可以选择查找这个目录,选择替换源码。dw或把你设定好的,这个目录下包括子目录下的所有文件的都替换了,这个功能很强大。不过要注意:最好在替换前先备份一下。

二、高级替换功能法

首先单击菜单”编辑”的”查找替换”,步骤如下:

点击”含有属性”一项前的减号去除改项
“动作”选择”去掉标签”
点击”替换全部”按钮
ctrl+f 调出 【查找和替换】
“搜索” 选择”指定标签”后面选择标签”a”

国外程序员推荐:每个程序员都应读的书

“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”

  很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数排列。

  1. 《代码大全》 史蒂夫·迈克康奈尔

  推荐数:1684

  “优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky

  对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esac

  2. 《程序员修炼之道》

  推荐数:1504

   对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。或许他们还是在校生,但对要自己做什么,还感觉不是很安全。就像草图和架构之间的差别。虽 然你在学校课堂上学到的是画图,你也可以画的很漂亮,但如果你觉得你不太知道从哪儿下手,如果某人要你独自画一个P2P的音乐交换网络图,那这本书就适合 你了。—— Joel

  3. 《计算机程序的构造和解释》

  推荐数:916

  就个人而言,这本书目前为止对我影响醉倒的一本编程书。

  《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。其他书籍则处理算法。这些书都有自己所属的位置。

  然而《计算机程序的构造和解释》与这些不同。这是一本会启发你的书,它会燃起你编写出色程序的热情;它还将教会你认识并欣赏美;它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。

  同时,你将会学到其他东西,函数式编程(第三章)、惰性计算、元编程、虚拟机、解释器和编译器。

   一些人认为此书不适合新手。个人认为,虽然我并不完全认同要有一些编程经验才能读此书,但我还是一定推荐给初学者。毕竟这本书是写给著名的6.001, 是麻省理工学院的入门编程课程。此书或许需要多做努力(尤其你在做练习的时候,你也应当如此),但这个价是对得起这本书的。

  你还不确信么?那就读读第一版的前言或序言。网上有免费的电子版。 – Antti Sykäri

  4. 《C程序设计语言》

  推荐数:774

  这本书简洁易读,会教给你三件事:C 编程语言;如何像程序员一样思考;底层计算模型。(这对理解“底层”非常重要)—— Nathan

  5. 《算法导论》

  推荐数:671

  《代码大全》教你如何正确编程;《人月神话》教你如何正确管理;《设计模式》教你如何正确设计……

   在我看来,代码只是一个工具,并非精髓。开发软件的主要部分是创建新算法或重新实现现有算法。其他部分则像重新组装乐高砖块或创建“管理”层。我依然梦 想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人…… —— Ran Biron

  6. 《重构:改善既有代码的设计》

  推荐数:617

  我想我不得不推荐《重构》:改进现有代码的设计。—— Martin

  我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序。—— Martin Fowler

  7. 《设计模式》

  推荐数:617

   就我而言,我认为四人帮编著的《设计模式》是一本极为有用的书。虽然此书并不像其他建议一样有关“元”编程,但它强调封装诸如模式一类的优秀编程技术, 因而鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。—— Chris Jester-Young

  8. 《人月神话》

  推荐数:588

  9. 《计算机程序设计艺术》

  推荐数:542

  这是高德纳倾注心血写的一本书。—— Peter Coulton

  10. 《编译原理》(龙书)

  推荐数:462

  我很奇怪,居然没人提到龙书。(或许已有推荐,我没有看到)。我从没忘过此书的第一版封面。此书让我知道了编译器是多么地神奇绝妙。- DB

  11. 《深入浅出设计模式》

  推荐数:445

  我知道四人帮的《设计模式》是一本标准书,但倒不如先看看这部大部头,此书更为简易。一旦你了解了解了基本原则,可以去看四人帮的那本圣经了。- Calanus

  12. 《哥德尔、艾舍尔、巴赫书:集异璧之大成》

  推荐数:437

   如果下昂真正深入阅读,我推荐道格拉斯·侯世达(Douglas Hofstadter)的《哥德尔、艾舍尔、巴赫书》。他极为深入研究了程序员每日都要面对的问题:递归、验证、证明和布尔代数。这是一本很出色的读物, 难度不大,偶尔有挑战,一旦你要鏖战到底,将是非常值得的。 – Jonik

  13. 《代码整洁之道》

  推荐数:329

  虽然《代码整洁之道》和《代码大全》有很多共同之处,但它有更为简洁更为实际的清晰例子。 – Craig P. Motlin

  14. 《Effective C++》和《More Effective C++》

  推荐数:297

  在我职业生涯早期,Scott Meyer的《Effective C++》和后续的《More Effective C++》都对我的编程能力有着直接影响。正如当时的一位朋友所说,这些书缩短你培养编程技能的过程,而其他人可能要花费数年。

  去年对我影响最大的一本书是《大教堂与市集》,该书教会我很有关开源开发过程如何运作,和如何处理我代码中的Bug。 – John Channing

  15. 《编程珠玑》

  推荐数:282

  尽管我不得不羞愧地承认,书中一半的东西我都没有理解,但我真的推荐《编程珠玑》,书中有些令人惊奇的东西。 – Matt Warren

  16. 《修改代码的艺术》by Michael Feathers

  我认为没有任何一本书能向这本书一样影响了我的编程观点。它明确地告诉你如何处理其他人的代码,含蓄地教会你避免哪些(以及为什么要避免)。- Wolfbyte

  同意。很多开发人员讨论用干净的石板来编写软件。但我想几乎所有开发人员的某些时候是在吃其他开发人员的狗食。– Bernard Dy

  17. 《编码:隐匿在计算机软硬件背后的语言》

  我推荐Charles Petzold的《编码》。在这个充满工具和IDE的年代,很多复杂度已经从程序员那“抽取”走了,这本书一本开眼之作。 – hemil

  18. 《禅与摩托车维修艺术 / Zen and the Art of Motorcycle Maintenance》

  对我影响最大的那本书是 Robert Pirsig 的《禅与摩托车维修艺术》。不管你做什么事,总是要力求完美,彻底了解你手中的工具和任务,更为重要的是,要有乐趣(因为如果你做事有乐趣,一切将自发引向更好的结果)。 – akr

  (编注:关于这本书,也可以看看阮一峰的读后感。)

  19. 《Peopleware / 人件集:人性化的软件开发》

  Demarco 和 Lister 表明,软件开发中的首要问题是人,并非技术。他们的答案并不简单,只是令人难以置信的成功。第二版新增加了八章内容。 – Eduardo Molteni

  20. 《Coders at Work / 编程人生》

  一本非常有影响力的书,可以从中学到一些业界顶级人士的经验,了解他们如何思考并工作。 – Jahanzeb Farooq

  21. 《Surely You’re Joking, Mr. Feynman! / 别闹了,费曼先生!》

  虽然这本书可能有点偏题,但不管你信不信,这本书曾在计算机科学专业课程的阅读列表之上。一个优秀的角色模型,一本有关好奇心的优秀书籍。 – mike511

  22. 《Effective Java 中文版》

  此书第二版教你如何编写漂亮并高效的代码,虽然这是一本Java书,但其中有很多跨语言的理念。 – Marcio Aguiar

  23. 《Patterns of Enterprise Application Architecture / 企业应用架构模式》

  很奇怪,还没人推荐 Martin Fowler 的《企业应用架构模式》- levi rosol

  24. 《The Little Schemer》和《The Seasoned Schemer》 nmiranda

  这两本是LISP的英文书,尚无中文版。美国东北大学网站上也有电子版。

   25. 《交互设计之路》英文名:《The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》该书作者:Alan Cooper,人称Visual Basic之父,交互设计之父。

  本书是基于 众多商务案例,讲述如何创建更好的、高客户忠诚度的软件 产品和基于软件的高科技产品的书。本书列举了很多真实可信的实际例子,说明目前在软件产品和基于软件的高科技产品中,普遍存在着“难用”的问题。作者认 为,“难用”问题是由这些产品中存在着的高度“认知摩擦”引起的,而产生这个问题的根源在于现今软件开发过程中欠缺了一个为用户利益着想的前期“交互设 计”阶段。“难用”的产品不仅损害了用户的利益,最终也将导致企业的失败。本书通过一些生动的实例,让人信服地讲述了由作者倡导的“目标导向”交互设计方 法在解决“难用”问题方面的有效性,证实了只有改变现有观念,才能有效地在开发过程中引入交互设计,将产品的设计引向成功。

  本书虽然是一本面向商务人员而编写的书,但也适合于所有参与软件产品和基于软件的高科技产品开发的专业人士,以及关心软件行业和高科技行业现状与发展的人士阅读。

  他还有另一本中文版著作:《About Face 3 交互设计精髓》

  26. 《Why’s (Poignant) Guide to Ruby 》

  如果你不是程序员,阅读此书可能会很有趣,但如果你已经是个程序员,可能会有点乏味。

  27. 《Unix编程艺术》

  It is useful regardless operating system you use. – J.F. Sebastian

  不管你使用什么操作系统,这本书都很有用。 – J.F. Sebastian

  28. 《Practices of an Agile Developer / 高效程序员的45个习惯:敏捷开发修炼之道》

  45个习惯,分为7个方面:工作态度、学习、软件交付、反馈、编码、调试和协作。

  每一个具体的习惯里,一开始提出一个谬论,然后展开分析,之后有正队性地提出正确的做法,并设身处地地讲出了正确做法给你个人的“切身感受”,最后列出几条注意事项,帮助你修正自己的做法(“平衡的艺术”)。

  29. 《Test-Driven Development by Example. / 测试驱动开发》

  前面已经提到的很多书都启发了我,并影响了我,但这本书每位程序员都应该读。它向我展示了单元测试和TDD的重要性,并让我很快上手。 – Curro

  我不关心你的代码有多好或优雅。如果你没有测试,你或许就如同没有编写代码。这本书得到的推荐数应该更高些。人们讨论编写用户喜欢的软件,或既设计出色并健壮的高效代码,但如果你的软件有一堆bug,谈论那些东西毫无意义。– Adam Gent

  30. 《Don’t Make Me Think / 点石成金:访客至上的网页设计秘笈》

  取决于你所追求的目标。我喜欢《代码大全》是因纯编程,《点石成金》是一本有关UI设计的卓越书籍。

建站经常用的正则表达式

平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:
“^\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
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
“^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$” //Emil
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ //电话号码
“^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$” //IP地址

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$


元字符及其在正则表达式上下文中的行为:

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。

? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。

{n} n 是一个非负整数,匹配确定的n 次。

{n,} n 是一个非负整数,至少匹配n 次。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

. 匹配除 “\n” 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。

(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern) 负向预查,与(?=pattern)作用相反

x|y 匹配 x 或 y。

[xyz] 字符集合。

[^xyz] 负值字符集合。

[a-z] 字符范围,匹配指定范围内的任意字符。

[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。

\b 匹配一个单词边界,也就是指单词和空格间的位置。

\B 匹配非单词边界。

\cx 匹配由x指明的控制字符。

\d 匹配一个数字字符。等价于 [0-9]。

\D 匹配一个非数字字符。等价于 [^0-9]。

\f 匹配一个换页符。等价于 \x0c 和 \cL。

\n 匹配一个换行符。等价于 \x0a 和 \cJ。

\r 匹配一个回车符。等价于 \x0d 和 \cM。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t 匹配一个制表符。等价于 \x09 和 \cI。

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。

\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。

\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。

\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。

\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。

\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

利用正则表达式限制网页表单里的文本框输入内容:

用 正则表达式限制只能输入中文:onkeyup=”value=value.replace(/[^u4E00-u9FA5] /g,”)”onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^u4E00-u9FA5]/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,”))”

=========常用正则式



匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql语句:^(select|drop|delete|create|update|insert).*$

1、非负整数:^\d+$

2、正整数:^[0-9]*[1-9][0-9]*$

3、非正整数:^((-\d+)|(0+))$

4、负整数:^-[0-9]*[1-9][0-9]*$

5、整数:^-?\d+$

6、非负浮点数:^\d+(\.\d+)?$

7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$

9、负浮点数:^(-((正浮点数正则式)))$

10、英文字符串:^[A-Za-z]+$

11、英文大写串:^[A-Z]+$

12、英文小写串:^[a-z]+$

13、英文字符数字串:^[A-Za-z0-9]+$

14、英数字加下划线串:^\w+$

15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\”\”])*$

17、邮政编码:^[1-9]\d{5}$

18、中文:^[\u0391-\uFFE5]+$

19、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

21、双字节字符(包括汉字在内):^\x00-\xff

22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

23、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/>

24、匹配空行:\n[\s| ]*\r

25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *(‘|”)?(\w|\\|\/|\.)+(‘|”| *|>)?

26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *(‘|”)?(\w|\\|\/|\.)+(‘|”| *|>)?

28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

29、提取信息中的中国手机号码:(86)*0*13\d{9}

30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

31、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

34、提取信息中的任何数字 :(-?\d*)(\.\d+)?

35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

36、电话区号:/^0\d{2,3}$/

37、腾讯QQ号:^[1-9]*[1-9][0-9]*$

38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

39、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

正则表达式口诀及教程

正则很好用也很强大,附件为正则教程用的CHM文件。
正则其实也势利,削尖头来把钱揣; (指开始符号^和结尾符号$)
特殊符号认不了,弄个倒杠来引路; (指\. \*等特殊符号)
倒杠后面跟小w, 数字字母来表示; (\w跟数字字母;\d跟数字)
倒杠后面跟小d, 只有数字来表示;
倒杠后面跟小a, 报警符号嘀一声;
倒杠后面跟小b, 单词分界或退格;
倒杠后面跟小t, 制表符号很明了;
倒杠后面跟小r, 回车符号知道了;
倒杠后面跟小s, 空格符号很重要;
小写跟罢跟大写,多得实在不得了;
倒杠后面跟大W, 字母数字靠边站;
倒杠后面跟大S, 空白也就靠边站;
倒杠后面跟大D, 数字从此靠边站;
倒框后面跟大B, 不含开头和结尾;
隐藏了部分口诀
本帖隐藏的内容
单个字符要重复,三个符号来帮忙; (* + ?)
0 星加1 到无穷,问号只管0 和1; (*表0-n;+表1-n;?表0-1次重复)
花括号里学问多,重复操作能力强; ({n} {n,} {n,m})
若要重复字符串,园括把它括起来; ((abc){3} 表示字符串“abc”重复3次 )
特殊集合自定义,中括号来帮你忙;
转义符号行不通,一个一个来排队;
实在多得排不下,横杠请来帮个忙; ([1-5])
尖头放进中括号,反义定义威力大; ([^a]指除“a”外的任意字符 )
1竖作用可不小,两边正则互替换; (键盘上与“\”是同一个键)
1竖能用很多次,复杂定义很方便;
园括号,用途多;
反向引用指定组,数字排符对应它; (“\b(\w+)\b\s+\1\b”中的数字“1”引用前面的“(\w+)”)
支持组名自定义,问号加上尖括号; (“(?<Word>\w+)”中把“\w+”定义为组,组名为“Word”)
园括号,用途多,位置指定全靠它;
问号等号字符串,定位字符串前面; (“\b\w+(?=ing\b)”定位“ing”前面的字符串)
若要定位串后面,中间插个小于号; (“(?<=\bsub)\w+\b”定位“sub”后面的字符串)
问号加个惊叹号,后面跟串字符串;
PHPer都知道, !是取反的意思;
后面不跟这一串,统统符合来报到; (“\w*d(?!og)\w*”,“dog”不符合,“do”符合)
问号小于惊叹号,后面跟串字符串;
前面不放这一串,统统符合来报到;
点号星号很贪婪,加个问号不贪婪;
加号问号有保底,至少重复一次多;
两个问号老规矩,0次1次团团转;
花括号后跟个?,贪婪变成不贪婪;
还有很多装不下,等着以后来增加

Gmail别名邮箱使用(1个邮箱当99个用)

还在为邮箱不够而苦恼吗?Gmail邮箱的别名功能,可以让我们把原本的信箱变成5个或10,99个甚至无数个,让你只要使用一组帐号、密码,就可以同时用无数个Email信箱收发邮件。

我们可以透过「.」跟「+」两个符号,在Gmail信箱的「帐号名称」上动手脚,透过这两个符号的搭配使用,我们可以创造出好几个「看起来不同」的Email信箱,对於各大网站来说,这些信箱都是不同的帐号,但对于Gmail跟我们来说,帐号中加上「.」或加上「+」等符号的信箱,跟没加这些符号都是同一个信箱,你都可以在同一个信箱中收发这些邮件。举例如下:

 

如果你原本的Email信箱为: brian@gmail.com..那么,你的Gmail信箱的分身则可设定为:
brian+123@gmail.com
bria.n@gmail.com
b.r.i.a.n+55667788@gmail.com
br….ia…..n@gmail.com

其他的,请发挥你自己的想像力,自行创造。他的规则就是在Gmail信箱的帐号名称上做变化,完全不用做任何的申请与变更,只要寄信时,直接加上去,寄给「b.r.ian+123@gmail.com」的信,跟寄给「brian@gmail.com」都是一样的,都一样很快可以收到。 


 再谈谈如何将gmail别名邮箱添加到设置到软件里,实现自动接收激活邮件。

首先,将我们的gmail邮箱配置进邮箱任务队列,然后勾选自定义邮件激活,再在参数C.c里填入gmail邮箱的通配符地址即可。(自定义邮箱配置请参考用户手册或之前的邮箱配置文档)

 注 意批量注册相同网站时,由于会快速发送一批邮件到指定邮箱,所以使用别名邮箱时,可能会收不到激活邮件,其实,大部分都被转移到垃圾邮箱了,如果被发送到 垃圾邮箱后,软件是不能自动激活的,这时需要用户将垃圾邮箱转移下即可。另外,有些网站注册时对邮箱是有格式要求的,只能包括数字和字母,这时就不能+号使用别名邮箱了,可以用.符号去实现,如百度空间可以用for.ever1love84@gmail.com…forev.e.r.1l.ov.e84@gmail.com,都等同于forever1love84@gmail.com.

DreamWeaver中如何批量删除超级链接

问题提出:在线问答网友提问,请问如何批量删除超级链接?

晴朗网络回答:解决办法,依次打开DreamWeaver-编辑-查找和替换(或可直接使用快捷键,Ctrl+F)-搜索范围选择“源代码”,在查找框内写入“<a href=”.*”>”,替换框内请留空。然后选择“使用正则表达式”前的勾。最后替换全部即可。详细如下图:

DreamWeaver中如何批量删除超级链接