• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
he dream rolls on from here!I believe in me
我相信我自己!梦想从这里开始
博客园    首页    新随笔    联系   管理    订阅  订阅

判断IP是否规范的正则表达式和远程连接时判断指定数据库是否存在

首先是IP是否规范:众所周知不管是判断IP是否规范还是判断邮箱格式是否规范这些都要用到正则表达式

这里我总结了一下:验证用户密码:"^[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}$"正确格式为:"XXX-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"。

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

      用正则表达式限制只能输入中文: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,’’))"

      这些是正则表达式的内容

      该如何用这应该是像我一样的新手想知道的

      拿我刚才写的IP的来做个例子

          string ip = textBox1.Text.Trim();

            if (Regex.IsMatch(ip, "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"))

            {

                string[] ips = ip.Split('.');

                if (ips.Length == 4 || ips.Length == 6)

                {

                    if (System.Int32.Parse(ips[0]) < 256 && System.Int32.Parse(ips[1]) < 256 & System.Int32.Parse(ips[2]) < 256 & System.Int32.Parse(ips[3]) < 256)

                    {

                    }

                }
            } 

这下面是我从网上看到的

     以下是引用片段:  

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

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

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

      以下是引用片段:

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

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

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

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

     以下是引用片段:
  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!") 
  } 
  }

        我用的是sqlserver2000数据库企业版的现在在来说一下远程连接数据库时判断指定数据库是否存在

        不管是2000还是05或者是08我想主要功能实现起来都差不多

要根据ip判断数据库是否存在,也就是说当你输入ip地址的时候判断这个ip所在的服务器上有没有你想要的数据库

这些数据库的名称都存在一个叫master的系统表中, 在这里那些数据库名称都是一条一条的记录,都存在master数据库的SysDatabases表中

这里面的name就是你想查找的数据库的字段,就可以通过下面这条语句查找是否存在

Select count(*) From Master..SysDatabases where name = '你想查找的数据库名称'

 SqlConnection con = new SqlConnection(constring);

                                SqlCommand cmd = new SqlCommand(sql, con);

                                con.Open();

                                int count = (int)cmd.ExecuteScalar();

                                con.Close();

                                if (count > 0)

                                {//存在你想要查找的数据库

                                }

                               else

                                 {//不存在

                                 }

到这里就应该非常明白了

我觉得这里还有很多纰漏!希望能看出来的朋友告诉我一声!谢谢

我的QQ:81704239

希望得到你们的指导更上一层楼,谢谢

posted @ 2011-08-11 16:33  Star_liu  阅读(864)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3