mikebai.com

  • Home
  • dev
  • DotNET
  • M365
  • 搞笑
  • 杂七杂八
  • FocusDict
個人BLOG
it developer
DotNET

RegularExpressionValidator控件中常见正则表达式用法

"^\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 只能输入1个数字 表达式 ^\d$ 描述 匹配一个数字 匹配的例子 0,1,2,3 不匹配的例子 只能输入n个数字 表达式 ^\d{n}$ 例如^\d{8}$ 描述 匹配8个数字 匹配的例子 12345678,22223334,12344321 不匹配的例子 只能输入至少n个数字 表达式 ^\d{n,}$ 例如^\d{8,}$ 描述 匹配最少n个数字 匹配的例子 12345678,123456789,12344321 不匹配的例子 只能输入m到n个数字 表达式 ^\d{m,n}$ 例如^\d{7,8}$ 描述 匹配m到n个数字 匹配的例子 12345678,1234567 不匹配的例子 123456,123456789 只能输入数字 表达式 ^[0-9]*$ 描述 匹配任意个数字 匹配的例子 12345678,1234567 不匹配的例子 E, 只能输入某个区间数字 表达式 ^[12-15]$ 描述 匹配某个区间的数字 匹配的例子 12,13,14,15 不匹配的例子 只能输入0和非0打头的数字 表达式 ^(0|[1-9][0-9]*)$ 描述 可以为0,第一个数字不能为0,数字中可以有0 匹配的例子 12,10,101,100

2010-02-09 0comments 90hotness 0likes mikebai Read all
DotNET

checkbox控件的enable,disabled,以及与前台js的交互控制

往往有这样的场景,两个checkbox,当checkbox1选中的情况下checkbox2的才可用,checkbox2的这个“可用”在服务端的代码为checkbox2.Enabled=true,而在生成的html代码中为checkbox2.disabled=false。 昨天的工作中我就遇到这样的怪事,安全起见,checkbox2的“不可用”状态是我在后台这样子 checkbox2.Attributes.Add(”disabled”, “true”) 前台的js代码大致如下 if(checkbox1.checked==true) { checkbox2.disabled=false; } else { checkbox2.disabled=true; } 结果我发现我的js代码不起作用,但是并没有页面提示说我的js代码错误,这就奇怪了,为什么正确的代码却不起作用呢,凭经验,马上查看页面源文件,我发现,等我设置了checkbox2.Attributes.Add(”disabled”, “true”)后,生成的checkbox2的html代码大概是这样的<span disabled=”true”><input type=checkbox…..<lable for=”checkbox2″ /></span>哦,这样一下子都明白了,和着它把checkbox外面套了一层<span>啊,而且这个<span>没有ID,好了,明白了原因后就好处理了,解决方法是: if(checkbox1.checked==true) { checkbox2.parentElement.disabled=false; } else { checkbox2.parentElement.disabled=true; } 也就是直接操作checkbox2的父元素就可以了,现在想想M$为什么这么做,为什么在checkbox外套一层<span>,我想大概是这个原因,大家知道<lable>标签只要加上for属性,那么这个标签就和它for的对象关联上了,这样你你在<lable>标签上点击,实际上也是在for的对象是点击,此例中就是这个checkbox,如果你M$仅仅在<checkbox>里加上disabled=true属性,那么只要点了<lable>,还是相当于点了checkbox,明白了,所以M$干脆就来一狠的,直接在<checkbox>和<lable>外套上了个<span>并且设置这个<span>的disabled=true,这样就达到整个checkbox“不可用”的效果了,注意,此时虽然<span> 的属性为disabled=true,但是<checkbox>和<lable>均没有设置此属性,所以我修改过的代码才仅仅需要处理checkbox的parentElement就可以了,于是我又做了一个试验,我在后台这样做 checkbox2.Enabled=Flase 马上,我在生成的html里发现,这次是<span disabled=”disabled”><input type=checkbox disabled=”disabled”>,这次不仅更改了disabled=”true” 变为disabled=”disabled”,而且在span和checkbox里都加上了disabled属性,有了上次的经验,处理这个就比较简单了: if(checkbox1.checked==true) { chckbox2.disabled=”"; checkbox2.parentElement.disabled=”";//注意赋值字符串为空而不是设置一个true } else { chckbox2.disabled=”"; checkbox2.parentElement.disabled=”disabled”; }

2010-02-08 0comments 90hotness 0likes mikebai Read all
DotNET

解决requiredfieldvalidator onclientclick调用冲突问题

文章1:From:http://www.cnblogs.com/firstyi/archive/2006/12/26/604216.html JS scriptfunction ConfirmMe(){   return confirm("Do you want to proceed?");}ASPX<asp:TextBox id="txtName" runat="server"/><asp:Button id="btnSubmit" OnClientClick="return ConfirmMe()" Text="Submit" runat="server"/>Well, that is pretty straightforward. BUT, it goes weird when you have a validator control (eg. RequiredFieldValidator) that is used to validate the "txtName" textbox server control. For instance,<asp:TextBox id="txtName" runat="server"/><asp:RequiredFieldValidator id="rq1" ControlToValidate="txtName" ErrorMessage="Name cannot be blank" Display="Dynamic" runat="server"/><asp:Button id="btnSubmit" OnClientClick="return ConfirmMe()" Text="Submit" runat="server"/>Whenever you press the button with no textbox value, the client-side confirmation dialog will be invoked first before the validator message is able to show up. This isn't what we expected it to behave. I tried several ways to overcome this problem, including using CLIENT CALLBACK, disabling the CauseValidation, but it failed. Finally, I was able to find a solution by adding JUST ONE line in the JS script. function ConfirmMe(){   if(Page_ClientValidate())      return confirm('Do you want to proceed?');       Page_BlockSubmit=false;  //当页面中有其他不需要验证的按钮或下拉框时一定要加上这句话,否则其他下拉框第一次提交时不会触发后台代码   return false;}     文章2:From:http://www.dotblogs.com.tw/puma/archive/2008/03/26/2313.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ButtonConfirm2.aspx.cs" Inherits="ButtonConfirm2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title>未命名頁面</title></head><body>    <form id="form1" runat="server" onsubmit="if (Page_ValidationActive && !confirm('確定送出嗎?')) return false;">    <div>        <

2010-02-01 0comments 92hotness 0likes mikebai Read all
DotNET

使用CustomValidator类及时验证用户名

        做网站用户注册时,都要验证用户名是否已经被注册,现在最常见的做法是点了提交以后再在服务器端检查,这样给用户带来很大不便,如果用户名已经被注册就需要返回重输用户名和密码,这样带来了不必要的回发过程。以前在阿里巴巴注册时发现阿里巴巴在这点上做得很好,他们就是实时检查的。那么我们如何在 .Net 里面实现在这个功能呢。先看一下简单的思路,就是在客户端 Textbox 引发 onchange 事件时使用 XmlHttpRequest 在后台打开一个网页检查反馈结果。来看看简单实现 function Init() {    var userName=document.getElementById("UserName");    userName.onchange=function(){        var oBao = new ActiveXObject("

2010-02-01 0comments 91hotness 0likes mikebai Read all
DotNET

AJAX Control Toolkits初学

A ScriptManager is required on the page to use ASP.NET AJAX Script Components <%--添加AjaxControlToolkit引用--%> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 添加 这个就行了 <form id="Form1" method="post" runat="server">    <asp:ScriptManager ID="ScriptManager1" runat="server">    </asp:ScriptManager> Form:http://www.cnblogs.com/ok519/archive/2009/06/30/1514020.html   關於AJAX Control Toolkits的語言檔 在開發AJAX 網頁時,拉了一個如CalendarExtender控制項時,Visual Studio 2005會自動在將AJAX Control Toolkits的語言檔加入到Bin資料夾。筆者突然有個疑問就是這些資料夾的語言檔案 AjaxControlToolkit.resources.dll 要怎麼使用呢?因為 CalendarExtender 一直顯示英語系內容,所以想辦法改變顯示成中文的日期,經百般的測試後發現只需要修改ScriptManager的屬性 「EnableScriptGlobalization 」及「EnableScriptLocalization」為『True'即可,若你認為有些語系是用不到的其實可以將他刪除的。 From:http://www.dotblogs.com.tw/jameswu/archive/2008/04/23/3074.aspx  

2010-01-21 0comments 87hotness 0likes mikebai Read all
DotNET

从0开始Windows Mobile 开发

我从事Windows Mobile开发半年多了,这半年很努力,收获也很多。对于当初连Windows是基于消息机制都不知道的我来说,起点可以说是0。之所以写这篇文章,是想和大家分享我的经验,能够为那些初学者提供一些儿帮助。未来我工作和学习的重点将放在用户界面和多媒体开发上。欢迎和我交流,我的QQ是:3423 67 776。 言归正传,先来看看微软在操作系统方面的产品,桌面操作系统大体的历程: MS-DOS Windows 1.0 Windows 2.0 Windows 3.0 Windows NT 3.1 Windows 3.2 Windows 95 Windows NT 4.0(发布同一年——1996年,11月份发布Windows CE 1.0) Windows 98 Windows ME Windows 2000 Windows XP Windows Vista Windows 7 关于桌面操作系统发展史有很多有意思的事情,在此略过。(关于以后的文章中我总结一下《Windows Internals》读书笔记。) 嵌入式操作系统有: Windows CE 1.0 Windows CE 2.0 Windows CE 3.0(改名为Windows for Pocket PC,简称Pocket PC) Windows CE 4.0(即Windows CE.Net) Windows CE 5.0(开放250万行源代码) Windows Embedded CE 6.0(2006年11月推出,在内核方面改进了很多,比如内存管理等。并且共享100%内核源码。) 之后微软宣布将Windows Embedded CE与 Windows Embedded Standard、Windows XP Embedded、 Windows Embedded Enterprise、POSReady( next generation of Windows Embedded for Point of Service)、 Windows Embedded NavReady、Windows Embedded Server组成Windows Embedded系列产品。 基于Windows CE操作系统的有: 网络投影仪、网络多媒体设备、车载计算机、电视机顶盒、生产在线的控制设备、公共场所的信息站等等,有些设备甚至没有任何人机界面。微软针对不同嵌入式设备推出不同定制的Windows CE内核,比如我们这里讲的Windows Mobile操作系统,它是专门针对智能手机的,在Windows CE内核基础上添加了智能手机所具有的功能和界面,还比如前段时间我看到微软推出针对MP4的专用操作系统。(关于Windows CE/Windows Mobile内核方面知识在此略过,我会在以后的文章中总结。) 现在让我们看看Windows Mobile操作系统的发展史: Windows Mobile 6.0是基于Windows CE 5.0内核,所以内存管理方面跟Windows CE 5.0是一样的,Windows Mobile 7.0将采用Windows CE 6.0内核。 开发工具(第1、3两项需要向微软购买,如果仅仅是学习第4项你下个试用版就可以了。具体请看这里) 1.Platform Builder for Windows Mobile(注意和Windows CE版本的区别),在定制内核、内核调试(另外可以借助很多PB的插件)等操作中,它将是一个得力的助手。 2.Windows Mobile 6 Professional SDK(或者Standard版本的,这里仅仅提供Professional版本),在安装完Visual Studio之后安装Windows Mobile 6 Professional SDK Refresh.msi,然后安装中文包:Windows Mobile 6 Professional Images (CHS).msi。提供了你开发所需要的基本接口,和调试用的模拟器等。另外其它的头文件和Lib库等文件你可能需要在AKU里面查找。

2009-12-21 0comments 91hotness 0likes mikebai Read all
dev

使用DXImageTransform.Microsoft.AlphaImageLoader方法不能预览本地图片的解决方法

    在IE7下面,我们会发现在IE6下工作正常的本地图片预览没有作用了,后来有高手提出了一个解决方案,使用CSS的滤镜方法, 最近发现此方法在升级了浏览器之后还存在问题,通过测试发现,修改浏览器的安全设置可以使本地预览正常,具体的修改方法入下图。 在IE安全选项中,开启上传本地文件路径,显示状态正常,具体原因不明。

2009-12-09 0comments 90hotness 0likes mikebai Read all
dev

IIS环境下配置PHP5+MySql+PHPMyAdmin

虽然主要是做.net开发的,但是,时不时的还要搞一下php,但是,php在windows下的配置,总是走很多弯路,正好前几天又配置了一下,因此总结在这里,做为自己的备忘,也希望给遇到问题的朋友们提供一些帮助。首先说明一下配置环境:操作系统:windows 2003 standard sp2PHP版本:5.2.5MySql版本:5PHPMyAdmin:2.11.6一、首先配置IIS,添加新的服务器扩展输入phpisapi.dll文件的路径,设置扩展状态为允许:二、设置网站属性,主目录为php网站所在的文件夹输入phpisapi.dll文件的路径,注意有些php网站需要把“确认文件是否存在”这个选项去掉的,扩展名写.php:现在php已经可以在iis中运行了。写一个php测试文件1.php,内容如下:<?      phpinfo();?>在浏览器中打开这个页面,如图:三、配置MySql,首先写一个mysql的配置文件,在这里我的配置文件为my.ini,文件中的注释已经很清楚了,在这里就不多说了。四、安装mysql服务,切换到mysql\bin目录,执行如下命令,安装并启动mysql服务,注意my.ini配置文件的路径要写准确五、接下来,配置php5支持mysql,首先修改php文件夹下的php.ini-dist文件,修改为php.ini,用记事本打开,找到mysql选项,把前面的;去掉然后复制php\ext文件夹下的php_mysql.dll和php文件夹下的libmysql.dll复制到c:\windows\system32文件夹:再打开我们的测试页面,这个时候,应该能看到如下所示,表示已经启用mysql:六、最后配置phpmyadmin,复制phpmyadmin到网站根目录,修改phpmyadmin的config.inc.php文件,注意红色注释的内容$cfg['Servers'][$i]['host']          = 'localhost'; // Mysql服务器名或ip地址$cfg['Servers'][$i]['port']          = '';          // MySQL 服务端口,这里留空表示使用默认端口$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')$cfg['Servers'][$i]['extension']     = 'mysql';     // mysql扩展$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection$cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings                                                    // (this user must have read-only$cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"                      &

2009-12-04 0comments 99hotness 0likes mikebai Read all
dev

LAMP相关解释

Apache Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數電腦作業系統 中運行,由於其跨平台和安全性[1]被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的 API擴充,將Perl/Python等直譯器編譯到伺服器中。 link:http://zh.wikipedia.org/wiki/Apache   MySQL MySQL(發音:[?ma? ?s kju? ??l],但也经常读作My-SEQuel)是一個開放源碼的關聯式資料庫管理系統,開發者為瑞典 MySQL AB公司,现为Sun公司的一部分。2009年Oracle宣布收购Sun公司,因此MySQL可能成为Oracle旗下产品。 MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被廣泛地應用在Internet上的中小型網站中。 随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook。非常流行的开源 软件组合LAMP中的M就是指MySQL。 與其他的大型數據庫例如Oracle、IBM DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限等, 但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有 餘,而且由於MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 目前Internet上流行的網站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統,Apache作為 Web服務器,MySQL作為數據庫,PHP(部分網站也使用Perl或Python)作為服務器端腳本解釋器。由於這四個軟件都 是開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個穩定、免費的網站系統。MySQL加PHP的配對在 互聯網上的應用相比LAMP來說更為常見,並獲得了「動態配對」(Dynamic Duo)的雅號,大部分Blog網站基於的 WordPress系統主要運用MySQL加PHP的配對。除了LAMP之外,用於Solaris、Windows和Mac上的網站構架也分別被稱 為SAMP、WAMP和MAMP。 link:http://zh.wikipedia.org/wiki/MySQL   phpMyAdmin phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用 Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量 資料的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyaAdmin跟其他PHP程式一樣在網頁伺服器上執行, 但是您可以在任何地方使用這些程式產生的HTML頁面,也就是於遠端管理MySQL資料庫,方便的建立、修改、刪除 資料庫及資料表。也可借由phpMyAdmin建立常用的php語法,方便編寫網頁時所需要的sql語法正確性。 link:http://zh.wikipedia.org/wiki/PhpMyAdmin Zend Optimizer Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运 行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要 快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反 应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的 盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服 务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间 link:http://zhidao.baidu.com/question/42131647.html

2009-12-04 0comments 104hotness 0likes mikebai Read all
dev

火星人写的javascript脚本

2009-12-02 0comments 96hotness 0likes mikebai Read all
1…4344454647…62

Recent Posts

  • c# winform适配高dpi
  • com.microsoft.sqlserver.jdbc.SQLServerException “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server建立安全连接
  • java -cp 用法介绍
  • HTML 容器元素
  • MVC的cshtml的介绍

Recent Comments

No comments to show.

COPYRIGHT © 2025 mikebai.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang