本文目录一览:
extjs 怎么使用正则表达式
javascript本身支持正则表达式,和extjs没有关系。
javascript中可以用反斜线将字符串括起来就表示一个正则表达式模式,例如
var regexp = /[0-9]{2,5}/; //regexp变量值就是一个正则模式,匹配2~5位数字
也可以用创建对象的标准语法来表示,例如:
var regexp = new RegExp("[0-9]{2,5}"); //和上例等效
模式可以有附加参数(非必需),包括:
包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。可以组合使用,例如“ig”。
例如:
var regexp = /[a-n]{3}/i; //忽略大小写,匹配3个a到n的英文字母
//也可以写成var regexp = new RegExp("[a-n]{3}","i")
js正则表达式有多个方法,常用的有exec、test、compile。
test() 方法检索字符串中的指定值。返回值是 true 或 false。
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
compile() 方法用于改变 RegExp。
Extjs怎么格式化Grid的日期列
在Grid的cm里面定义列的时候使用renderer 属性进行修改日期格式.由于在用.net把ListT转成json的时候会把日期类型转化成不是常用的格式所以我们需要利用js把他转换过来.
第一步需要把他转换成js认识的Date格式:new Date(parseInt(val.substring(6, val.length - 2)))
第二步再把Date按照你的要求进行转化,我这里是扩展了一个format方法
1: Date.prototype.format = function(format) {
2: var o =
3: {
4: "M+": this.getMonth() + 1, //month
5: "d+": this.getDate(), //day
6: "h+": this.getHours(), //hour
7: "m+": this.getMinutes(), //minute
8: "s+": this.getSeconds(), //second
9: "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
10: "S": this.getMilliseconds() //millisecond
11: }
12:
13: if (/(y+)/.test(format))
14: format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
15: for (var k in o)
16: if (new RegExp("(" + k + ")").test(format))
17: format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
18: return format;
19: }
下面是具体Grid日期列的定义
1: {dataIndex : 'BillDate',
2: header : '用电日期',
3: hidden : false,
4: renderer : function (val) {
5: return new Date(parseInt(val.substring(6, val.length - 2))).format('yyyy-MM-dd')
6: }
7: ,
8: sortable : false
9: }
ExtJs 3.4 日期控件DateField的范围控制
就是要这样的效果吧。
{
xtype:'datefield',
width:'70',
format: "Y-m-d",
id:'date',
value:new Date(),
disabledDays :[0,1,2,3,4,6] //这样加这个属性,禁用日期
}
extjs获取当前时间并且怎么取7天前的时间
很简单哦
var now = new Date(new Date()-7*24*60*60*1000);
alert(now);
这个是当前时间,我测试已经更可以弹出了。
然后再用extjs格式化一下。
var end = now.format('Y-m-d H:i:s');
就可以了
没有Ext.Date.format()这个函数