JS常用验证

是否电子邮件、货币、日期、时间、数字、固定电话、移动电话、邮政编码、档案编号和身份证  
  提供上述方法,输入参数均为string   字符串,返回值均为bool  
  采用Regx(正则表达式)来验证  
   
  贴写参考,类就不写了.  
   
  匹配中文字符的正则表达式:   [/u4e00-/u9fa5]  
   
  匹配双字节字符(包括汉字在内):[^/x00-/xff]  
   
  匹配空行的正则表达式:/n[/s|   ]*/r  
   
  匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*)   //>/    
   
  匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数)  
   
  匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*  
   
  匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w-   ./?%&=]*)?  
   
  匹配IP地址的正则表达式:Regex.IsMatch(strIn,@"^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])$");  
   
  ===============================================================================  
  (/d{3}-|/d{4}-)?(/d{8}|/d{7})?       //国内电话  
  ^[1-9]*[1-9][0-9]*$         //腾讯QQ  
  ^[//w-]+(//.[//w-]+)*@[//w-]+(//.[//w-]+)+$    //email地址    
  ^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$  //url  
  ^/d+$                   //非负整数    
  ^[0-9]*[1-9][0-9]*$  //正整数    
  ^((-//d+)|(0+))$  //非正整数  
  ^-[0-9]*[1-9][0-9]*$  //负整数    
  ^-?//d+$           //整数    
  ^//d+(//.//d+)?$  //非负浮点数  
  ^(([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-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个英文字母或者下划线组成的字符串    
   
  ================================================================================  
  want   to   remove   all   <..>,   try  
   
  string   s   =   "...";  
   
  s   =   System.Text.RegularExpressions.Regex.Replace(s,"<[^>]+>","");  
   
   
  want   to   match   stuffs   inside   <>,   try  
   
  Regex   r   =   new   Regex("<([^>]+)>");    
  MatchCollection   mc=   r.Matches(source.ToString());    
  for   (int   i   =   0;   i   <   mc.Count;   i++)    
  {    
  string   results   =   mc[i].Value;  
  Console.WriteLine(mc[i].Groups[1].Value);  
  }  
   
  ================================================================================  
   
  ---------------------------------------------------------------------------  
  以下是例子:  
   
  利用正则表达式限制网页表单里的文本框输入内容:  
   
  用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')"   onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"  
   
  1.用正则表达式限制只能输入全角字符:   οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')"   onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"  
   
  2.用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'')   "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"  
   
  3.用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'')   "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"  
   
  4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)  
   
  String.prototype.len=function(){return   this.replace([^/x00-/xff]/g,"aa").length;}  
   
  5.javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:  
   
  String.prototype.trim   =   function()  
  {  
          return   this.replace(/(^/s*)|(/s*$)/g,   "");  
  }  
   
  利用正则表达式分解和转换IP地址:  
   
  6.下面是利用正则表达式匹配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("不是一个正确的IP地址!")  
  }  
  }  
   
  不过上面的程序如果不用正则表达式,而直接用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))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值