预览模式: 普通 | 列表

在文本框的onkeypress调用此函数

function DigitalCheck()
{
    var code;
    var character;
    if (document.all)
    {
        code = window.event.keyCode;
    }
    else
    {
        code = arguments.callee.caller.arguments[0].which;
    }
    var character = String.fromCharCode(code);
    if ( ("0123456789").indexOf( character ) == -1 && code != "8") //允许数字和keycode=‘8’
    {      
       //屏蔽输入
        if (document.all)
        {
            window.event.returnValue = false;
        }
        else
        {
            arguments.callee.caller.arguments[0].preventDefault();
        }
    }
}

Tags: javascript

分类:Programer | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2498

在文本框的keypress事件调用下面函数。
如 <input disabled="disabled" type="text" id='userNameToEdit' onkeypress="TextValidate()" />

如果在文本框中按下特殊字符键,则显示警告信息,并且屏蔽输入。

function TextValidate()
{
    var code;
    var character;
    var err_msg = "Text can not contain SPACES or any of these special characters other than underscore (_) and hyphen (-).";
    if (document.all) //判断是否是IE浏览器
    {
        code = window.event.keyCode;
    }
    else
    {
        code = arguments.callee.caller.arguments[0].which;
    }
    var character = String.fromCharCode(code);
   
    var txt=new RegExp("[ ,\\`,\\~,\\!,\\@,\#,\\$,\\%,\\^,\\+,\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\.,\\<,\\>,\\{,\\},\\(,\\),\\',\\;,\\=,\"]");
    //特殊字符正则表达式
    if (txt.test(character))
    {
        alert("User Name can not contain SPACES or any of these special characters:\n , ` ~ ! @ # $ % ^ + & * \\ / ? | : . < > {} () [] \" ");
        if (document.all)
        {
            window.event.returnValue = false;
        }
        else
        {
            arguments.callee.caller.arguments[0].preventDefault();
        }
    }
}

Tags: javascript

分类:Programer | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5303

C#(.NET)生成高质量(清晰)缩略图

Create High Quality Thumbnail - Resize Image Dynamically - ASP .Net C# Code

创建高质量(清晰)缩略图——动态调整大小

Bitmap类的GetThumbnailImage方法可以从指定的图像文件中生成缩略图,用法非常简单。但是并不总是这样,有时生成的缩略图的质量很差——模糊不清!

       为什么会这样?为什么生成的图片是模糊的?

查看更多...

Tags: .NET

分类:Programer | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5397

DOCTYPE html PUBLIC 让人吐血的问题

使用了DOCTYPE html PUBLIC之后有些东西改变了~~害我查找了好久的错误~~追踪的好累啊~~

在javascript里面调用一些属性的名称发生了改变 我说怎么得不到document.body.scrollTop的值
以后js脚本取document值时候有问题估计就是这里弄出来的~~

很明显 使用了DOCTYPE html PUBLIC脚本之后document.body.scrollTop必须用document.documentElement.scrollTop来调用~document.documentElement.scrollLeft也是~
诸如此类都要改

在定义了DOCTYPE之后,使用document.documentElement.scrollLeft代替document.body.scrollLeft。同理使用document.documentElement.scrollTop代替document.body.scrollTop。

这样在有DOCTYPE的时候,图层也可以滚动了。

但是,在没有DOCTYPE的时候document.documentElement.scrollLeft也永远为零了,那么,能否有一个在有没有DOCTYPE定义都可以用的方案涅?嘿嘿。

那就可以这样写:

 

 

function scrollTop() //浏览器滚动条位置
{
var scrollTop;
if (document.documentElement && document.documentElement.scrollTop){
scrollTop = document.documentElement.scrollTop;
}else if (document.body){
scrollTop = document.body.scrollTop;
}else if (window.pageYOffset){
scrollTop = window.pageYOffset;
}
return scrollTop;
}

查看更多...

分类:Programer | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2346

<我的美女大小姐> 经典语录

1、看一个国家的国民教育,要看他的公共厕所;看一个人的心术,要看他的眼睛;看一个的身价,要看他的对手。所以,不要拿我来抬高你的身价,你还不配做我的仇人

2、有点俗,有点怪,有点无聊加可爱!有点懒,有点坏,有点机灵加无赖!

3、我暂时还没有死的打算,等我死后再去通知你吧,记的晚上留门~~!

4、世界上有许多事情并不是能用金钱来解决的。就象是你身后的那两个跟班,如果我给你钱,你能让他们两个当众下出蛋吗?

5、别以为自己长的跟擎天柱一样就以为能挽救这个世界,没有用的.

查看更多...

Tags: 好玩的

分类:Play | 固定链接 | 评论: 4 | 引用: 0 | 查看次数: 19578

百度“知道”里的回答里的搞笑回答

1、提问:显示器画面不停地轻微抖动,有什么办法?

 答:你也不停地抖动,当你的频率和振幅与显示器画面一致时,你就感觉不出来了。

2、提问:如何除掉烦人的狗?我家附近有人养狗,且不管它,随便跑,经常晚上在我家门口拉屎,有没有办法不让它在我家拉屎,或神不知鬼不觉地把它弄死且没人知道。

 回答一:和主人说没用,我告诉你个好主意。每次狗拉屎的时候,你去偷看,等狗发现了你在偷看,它会害羞的,就再也不敢到你家门口拉屎了。

 回答二:给它买一台计算机,然后教它上网,它就没空去你家门口了。

3、提问:为什么我玩3D游戏时会头晕?

 回答一:小脑不发达。 

 回答二:大脑不发达。

 回答三:大小脑都不发达。

4、提问:怎么驱赶蚂蚁?

 回答一:在寝室门上贴上“戒严”或者“查封”等字样,造成寝室已经停止营业的假象。

 回答二:买个食蚁兽回来不就结了。

 回答三:播放张楚的歌曲《蚂蚁》三十遍。

 回答四:把这个问题贴到蚁巢门口,难死它们!难不死的也会被这个悖论折磨死。

 回答五:养些白蚁,让他们种族歧视,自相残杀。

5、提问:最简单的长寿秘诀是什么?

 回答:保持呼吸,不要断气。

6、提问:跷二郎腿的危害?

 回答:屁股会一半大一半小。

7、提问:超人的内裤为什么总是穿在外面?

 回答一:穿在里面了,谁知道你是超人?

 回答二:蝙蝠侠,内裤套头了;蜘蛛侠,内衣外穿了;超人怎么能不走时尚路线呢?他就内裤外穿了。

8、提问:我要问百度知道知道不知道知道就知道不知道就不知道不要知道说不知道不知道说知道到头来知道变成不知道不知道还是不知道天知道地知道百度知道知道若要问我知道不知道知道不知道也不知道。请加标点符号,眼睛不好慎入。

 回答:我要问“百度知道”:“知道不知道?”知道就知道,不知道就不知道。不要知道说不知道,不知道说知道,到头来知道变成不知道,不知道还是不知道。天知道、地知道、“百度知道”知道,若要问我知道不知道,知道不知道也不知道!

9、提问:我的电脑里有病毒我应该买什么杀虫剂好?

 回答一:什么都不用,你可以一个月不开机,把病毒饿死在里面。

 回答二:光饿死还不够,万一病毒太饿了爬出来感染别人的电脑怎么办!不光要不开机饿死它,还要拿个袋子把电脑密封起来给它断水断粮断空气才行。

 回答三:用妇炎洁吧,洗洗更健康。

 回答四:用妇炎洁不行啊,楼上的。如果电脑是男性怎么办?其实用汰渍最好了。不伤手,除菌。

 回答五:楼上的全都不厚道,电脑病毒是不能用杀虫剂的,你把电脑带到防疫站给医生去打一针就行了,以后每年打一针就能彻底防止病毒入侵了。

 

            10、提问:怎样可以最有效地瘦臀?

             回答:蹭树。

 

           11、提问:为什么好马不吃回头草?

           回答:因为马儿拉屎在后面拉。

查看更多...

Tags: 好玩的

分类:Play | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2155

Asp.net中基于Forms验证的角色验证授权

Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活。
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了。

问题来了,在实际是用中我们往往需要的是基于角色,或者说基于用户组的验证和授权。对一个网站来说,一般的验证授权的模式应该是这样的:根据实际需求把用户分成不同的身份,就是角色,或者说是用户组,验证过程不但要验证这个用户本身的身份,还要验证它是属于哪个角色的。而访问授权是根据角色来设置的,某些角色可以访问哪些资源,不可以访问哪些资源等等。要是基于用户来授权访问将会是个很不实际的做法,用户有很多,还可能随时的增减,不可能在配置文件中随时的为不断增加的新用户去增加访问授权的。

下面大概的看一下Forms的过程。

Forms身份验证基本原理:

查看更多...

Tags: .NET form

分类:Programer | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2413

常用正则表达式

匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用

匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:

只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,

只能包含字符、数字和下划线。
验证是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”
只能输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”

正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,

“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

正确格式为:“01”“09”和“1”“31”。

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}
(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //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!")
}
}
(4)应用:从URL地址中提取文件名的javascript程序
s="http://www.9499.net/page1.htm";
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") ; //Page1.htm
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文: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,''

Tags: 正则

分类:Programer | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1736