制表器 JS 验证器正则表达式



带有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")以确保处理所有正则表达式。

最新更新