带有python烧瓶的制表器JS。
columns:[
{title:"Number", field:"msisdn", align:"center", editable:true, editor:"input", validator:["required","numeric","min:11","max:11","regex:\77[0-9]+"]},
],
我想在启用单元格编辑模式时验证单元格。 按格式限制的号码 77XXXXXXXXX 但是这个正则表达式匹配不起作用, 我正在使用模拟匹配到jquery函数中,工作得很好。
请帮忙。
你的正则表达式在那里看起来是错误的,应该77[0-9]{9}
因此,您的列定义应为:
{title:"Number", field:"msisdn", align:"center", editable:true, editor:"input", validator:["required","numeric","min:11","max:11","regex:77[0-9]{9}"]},
我希望这有所帮助,
干杯
奥利:(
我解决了我的问题。添加自定义格式化程序:
var numEditor = function(cell, onRendered, success, cancel, editorParams){
var editor = document.createElement("input");
editor.setAttribute("type", "text");
var r = /^77[0-9]{9}$/
onRendered(function(){
editor.focus();
editor.style.css = "100%";
});
function successFunc(){
var n = editor.value.match(r);
if (n !== null) {
success(editor.value);
}
else {
cancel();
}
}
editor.addEventListener("change", successFunc);
editor.addEventListener("blur", successFunc);
return editor;
};
在制表器中:
{title:"", field:"msisdn", align:"center", editable:true, editor:numEditor},
并玩得开心((
谢谢奥利,你的制表器JS是火!
{title:"Number", field:"msisdn", align:"center", editable:true, editor:"input", validator:["required","numeric","min:11","max:11","regex:77[0-9]{9}"]},
仅通过正则表达式处理正则表达式时,它不能像在RegExp("string")
中那样工作,需要对其进行RegExp("string", "gi")
以确保处理所有正则表达式。