日度归档:2019年10月7日

javascript 字符串添加属性方法的方法分享


摘要:
下文讲述javascript字符串添加”属性方法”的方法分享,如下所示:

在一些前台页面的编写中,我们经常看见字符串.方法名(参数信息)
的这种写法,下文将讲述这种方法名的具体定义方法,如下所示:

例1:添加一个trim取左右空间的字符串扩展方法

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

例2.验证字符串是否为Email Address

   
  String.prototype.isEmail = function(){
     return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
 }    

例3.验证url地址是否正确

       
String.prototype.isUrl = function(){
  return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);
}   

例4.检查电话号码是否正确

      
String.prototype.isPhoneCall = function(){
 return /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this);
}    
 

例5.检查是否为整数

   
String.prototype.isNumber=function(){
return /^[0-9]+$/.test(this);
}   

例6.转换为整数

  
String.prototype.changeNumber = function(v){r
      eturn isNaN(parseInt(this, 10)) ? v : parseInt(this, 10);}      
  

例7.转换为小数

  
String.prototype.changeMoney = function(v){
return isNaN(parseFloat(this)) ? v : parseFloat(this);} 

mssql sqlserver使用系统表spt_values生成连续日期的方法分享


我们知道sql脚本生成一个连续时间段的方法,有很多种,例:游标遍历 while循环,
下文讲述一种全新的方法,根据spt_values中的数据,快速生成一小段连续日期的方法分享,如下所示:
实验环境:sql server 2008 R2


实现思路:
使用master..spt_values数据表中流水号和日期进行叠加生成连续的日期数据

    ---生成2019-10-1 ~2020-1-1 之间的连续数据
 SELECT DATEADD(DAY, number, CONVERT(DATETIME, '2019-10-01')) [猫猫小屋之连续日期] 
FROM master..spt_values
WHERE type = 'P'
      AND number
      BETWEEN 0 AND DATEDIFF(DAY, '2019-10-01','2020-1-1')-1;

相关阅读:
master数据库spt_values表简介
mssql sqlserver 使用sql脚本生成两个日期之间的连续日期的方法分享

MSSQL优化“if exists性能”的方法分享


摘要:
下文讲述MSSQL数据库中,使用 top 1 查询方式优化If exists性能的方法分享,如下所示:
实验环境:sqlserver 2008 R2

 
/*
在日常的检测数据表是否存在数据时,我们会采用这种写法
这种写法有一个弊端,就是可能返回了很多行记录,和返回不必要的列
这种写法貌似会降低sql脚本的性能
*/
IF EXISTS( SELECT [列名] FROM [数据表名称] WHERE [检索条件] )  
BEGIN  
  /*sql 脚本*/
END  
 
 
/*
 如果我们使用top 1 检索一条数据,那么大大的减少了数据的返回量
  并且在列名处放入NULL,或一个常量,就可以做到不返回任何数据,
  只获取是否存在行数据
   笔者认为这种方式比前一种方式更高效,可以作为优化if exists查询的写法
*/
IF EXISTS( SELECT TOP 1 '' FROM dbo.[Table] WHERE xxx = xxxxxx )  
BEGIN  
 /*
  sql脚本
 */
END