日期:2012-3-9  |  作者: 艺鸿  |  分类:正则表达式  |  围观群众94  |  参与讨论9
1上面的文本框只能输入数字代码(小数点也不能输入): 


CODE: 
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 
2只能输入数字,能输小数点.(注意汉字.用输入法和复制上面三个是有区别的在这里) 


CODE: 
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> 
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> 


CODE: 
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"> 
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"> 


CODE: 
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value="http://www.myboker.com/0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}""> 
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value="http://www.myboker.com/0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}""> 

3只能输入字母和汉字 


CODE: 
<input onkeyup="value="http://www.myboker.com/value.replace(/[\d]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">
<input onkeyup="value="http://www.myboker.com/value.replace(/[\d]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

4只能输入英文字母和数字,不能输入中文 


CODE: 
<input onkeyup="value="http://www.myboker.com/value.replace(/[^\w\.\/]/ig,"'')"> 
<input onkeyup="value="http://www.myboker.com/value.replace(/[^\w\.\/]/ig,"'')"> 

5只能输入数字和英文chun 


CODE: 
<input onKeyUp="value="http://www.myboker.com/value.replace(/["^\d|chun]/g,'')"> 
<input onKeyUp="value="http://www.myboker.com/value.replace(/["^\d|chun]/g,'')"> 

6小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号: 


CODE: 
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false"> 
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false"> 

7小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号 


CODE: 
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"> 
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"> 





附: 
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。 

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

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

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;} 

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

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

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

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: 

String.prototype.trim = function() 
return this.replace(/(^\s*)|(\s*$)/g, ""); 

利用正则表达式分解和转换IP地址: 

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: 

function IP2V(ip) 
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式 
if(re.test(ip)) 
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 
else 
throw new 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"?琼?渦獢p?????浜睹扥潜桴牥摜極慢?瑨m?) 
var s2=s.replace(re,"") 
alert(s1+s2) //结果为:abcefgi 

我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。 

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 

s="http://www.9499.net/page1.htm" 
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2") 
alert(s) 

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

用正则表达式限制只能输入中文:onkeyup="value="http://www.myboker.com/value.replace(/["^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" 

用正则表达式限制只能输入全角字符: onkeyup="this.value=this.value.replace(/["^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" 

用正则表达式限制只能输入数字:onkeyup="this.value=this.value.replace(/["^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 

用正则表达式限制只能输入数字和英文:onkeyup="this.value=this.value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 

补充: 
^\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?琼?渦獢p?????浜睹扥潜桴牥摜極慢?瑨m?-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址 
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url 


利用正则表达式去除字串中重复的字符的算法程序: 

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 
=============================== 
如果var s = "abacabefggeeii" 
结果就不对了,结果为:abeicfgg 
正则表达式的能力有限
日期:2012-3-7  |  作者: 艺鸿  |   |  围观群众100  |  参与讨论13

对于推动中央各项重大决策部署的贯彻落实,推进改革开放和各项建设事业的发展,促进民生改善和社会和谐稳定,具有重大的意义

那些病不起、休不起的现实,消磨的不仅是劳动者的工作热情,更是幸福生活的质量。

交通部副部长冯正霖说,近年来发生多起群体事件多与权益未得到保障有关。我们不能总等一个行业发生了多起群体事件后,才想起这一个行业从业者的权益保障。有些事情,真的需要先替劳动者想到、做到,否则,不论是屡屡发生的过劳死,还是群体事件,都将是我们这个社会支付不起的运行成本。

 

  “让人民满意,才是根本目”。面对人民群众的新期待,温总理在报告中做出了很好的回应。总理表示,我们一定要以对国家和人民高度负责的精神,采取更加有力的措施,切实解决存在的问题,努力把各项工作做得更好,决不辜负人民的重托。并承诺,“我们要恪尽职守、锐意进取、攻坚克难、决不懈怠,交出一份人民满意的答卷”。

  这是庄严的承诺,也是充满着信心、决心和毅志的承诺。对此,人民有理由相信,只要各级政府都能按照总理的承诺要求去做,“恪尽职守、锐意进取、攻坚克难、决不懈怠”,就一定能交出一份人民满意的答卷。

日期:2012-3-7  |  作者: 艺鸿  |   |  围观群众79  |  参与讨论6

 

近几年来,重庆在党中央、国务院的正确领导下,坚持以科学发展观为指导,紧紧抓住西部大开发等重大历史机遇,全面落实胡锦涛总书记“314”总体部署和“国发3号”文件精神,积极探索民生导向的发展路子,扎实推进内陆开放高地和“五个重庆”建设,出台并落实“民生十条”、“共富十二条”、“民主法治十五条”,深入开展“唱读讲传”、“大下访”、“三进三同”、“结穷亲”等活动,切实加强党员干部队伍作风建设,全市呈现出发展提速、改革深化、民生改善、社会和谐的良好局面,不少重要的经济社会指标位居全国前列。近期,中央主要领导明确指出,重庆的成绩来之不易,应该充分肯定,继续推进。我们将坚决落实好中央领导的重要指示,统一思想,团结一致,按照市委、市政府确定的决策部署,继续深入扎实地推进全市各项工作,不断巩固重庆改革发展稳定的大好局面,以更加振奋的精神、更加务实的作风、更加优异的成绩,迎接党的十八大和市第四次党代会的胜利召开,决不辜负中央的殷殷重托和人民群众的高度信任

  我相信,重庆的明天会更加美好!“百闻不如一见”,欢迎海内外媒体和社会各界来重庆走一走,看一看。

日期:2012-2-15  |  作者: 艺鸿  |   |  围观群众92  |  参与讨论3

比如当前文件是放在(d:\www\)下,文件名是test.php。
测试的代码如下:

·                 <?php

·                    echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php

·                    echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\

·                    echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\

·                 ?>

使用方法提示,
dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的。
如果重复一次可以把目录往上提升一个层次:
比如:$d = dirname(dirname(__FILE__));
其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/
所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回
当前目录的上级目录.这样重复就得到了它的上一级的目录.


日期:2012-2-10  |  作者: 艺鸿  |  分类:记事本  |  围观群众72  |  参与讨论5
点击查看原图
日期:2011-11-17  |  作者: 艺鸿  |  分类:记事本  |  围观群众168  |  参与讨论4

调试VBA代码在VBE编辑器的菜单中,有两项与调试运行有关的菜单项,即“调试”菜单和“运行”菜单,它们提供了各种调试和运行的手段。在我现阶段进行代码调试时,常用到的有以下几个:

 ■ 逐语句。可以按F8键对代码按顺序一条一条语句运行,从而找出语句或逻辑错误。

 ■ 设置断点。在可能存在问题的语句处设置断点(可通过在相应代码前的空白部位单击,将会出现一个深红色的椭圆即断点),当程序运行至断点处时,会中止运行。

 ■ 在语句的适当部位设置Debug.Print语句,运行后其结果会显示在“立即窗口”中,可以此测试或跟踪变量的值。

 ■ 在“立即窗口”中测试。对值的测试或跟踪,也可以以“?”开头,在“立即窗口”中输入需要测试值的语句,按Enter回车键后将立即出现结果;对执行语句的测试,可直接在“立即窗口”中输入,按Enter回车键后将执行。

 ■ 可以按F5键直接运行光标所在位置的子程序。

日期:2011-9-22  |  作者: 艺鸿  |  分类:记事本  |  围观群众319  |  参与讨论16

同事拿了L532让我重装系统,说WIN7不好用,太慢了,我拿了电脑公司是XP9.3 Ghost盘,重装了好几次就是不成功,开机时出现无法加载文件,最后上百度了一下,哈哈,根据提示,需要修改参数,改完后可以用Ghost重装了,重装中写下了这些,仅作记录

  • 先进bios--Advanced--将SATA controller Mode选项中默认的AHCI调整为Compatibility。
  • 进bios方法:开机后按F2进入,改完硬盘模式后再用XP盘装
日期:2011-6-11  |  作者: 艺鸿  |  分类:财经  |  围观群众530  |  参与讨论19

  

第一 未审核凭证之前 如何检查凭证  1检查 成本损益类科目余额是否为零 方法总账→账簿查询——余额表 起始科目:4101——5801(或者不写) 勾选末级科目 以及未记账凭证 看看各科目期末余额借贷方是否都为零;若不为零,查询该科目的明细账,对照题目查看凭证是否存在录入错误。

第二 如何检查报表的正确性   资产负债表期末借方余额等于期末贷方余额;利润表中净利润等于利润明细账中未结平之前的余额。  

第三报表相关 打开报表之后 查看初始帐套是否正确,资产负债表不平,计算期末余额的差额,查看相关题目是否有该余额。

第四 如何反结账:总账-期末-结账(ctrl+shift+f6);总账-期末-对账(ctrl+h);总账-凭证-恢复记账前状态;总账-凭证-审核凭证-(查询结果-点开其中一条-审核-成批取消审核)  退出帐套;用另一个用户修改凭证;再退出;再用不同用户登录,审核-记账-结账-出报表。

结账时提示:未通过工作检查不可结账,可能原因是含有未记账凭证(未审核凭证),或者期初余额不平

 

会计科目:基础设置-财务-会计科目

期初余额:总账-设置-期初余额

审核凭证:总账-凭证-审核凭证

日期:2011-5-10  |  作者: 艺鸿  |  分类:记事本  |  围观群众584  |  参与讨论15

今天是个特别有意义的日子,我的元搜索引擎P搜(http://psou.cn),搜鸿(http://sohong.cn)经过5月8日的改版后日IP访问量由原来的几个激增到今晚的2011个,P搜(搜鸿)元搜索。聚合了百度、google、yahool、搜狗、有道、搜搜、必应的搜索结果,在一个页面内,以统一的形式,重新排序、去除相同结果后再显示出来。缩小范围,结果更精确。

点击查看原图

日期:2011-5-4  |  作者: 艺鸿  |  分类:PHP  |  围观群众543  |  参与讨论11
PHP正则表达式 /i, /is, /s, /isU等 都是些什么东西呢?

i 匹配大小写
s 模式中的圆点元字符(.)匹配所有的字符,包括换行符
x 模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两 头,也都被忽略
A (PCRE_ANCHORED) 如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^。
D (PCRE_DOLLAR_ENDONLY) 如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配 任何其它换行符之前)。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。  S 当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前,分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。
U (PCRE_UNGREEDY) 本修正符反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复。这和 Perl 不兼容。也可以通过在模式之中设定 (?U) 修正符来启用此选项。
X (PCRE_EXTRA) 此 修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误,从而保留此组合以备将 来扩充。默认情况下,和 Perl 一样,一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。当前没有其它特性受此修正符控制。即:贪婪模式,最 大限度匹配 如:/a[\w]+?e/U匹配abceadeddd中的abceade而不是abce,如果不加U修正,则匹配abce  u (PCRE_UTF8) 此修正符启用了一个 PCRE 中与 Perl 不兼容的额外功能。模式字符串被当成 UTF-8。

Copyright © 2011 艺鸿's Blog-青葱岁月 | power by Emlog | Theme By ZLD.ME Designed By 1H1Y | 鲁ICP备09062066号

返回顶部