关于regexp的日期extjs的信息
更新:<time datetime="2022-11-15 18:08">2022-11-15 18:08</time>
本文目录一览:
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方法
Date.prototype.format = function(format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
return format;
}
下面是具体Grid日期列的定义
{
dataIndex: 'BillDate',
header: '用电日期',
hidden: false,
renderer: function(val) {
return new Date(parseInt(val.substring(6, val.length - 2))).format('yyyy-MM-dd')
},
sortable: false
}
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()这个函数