最近在写joomla的前台校验要用到js正则进行
匹配,弄了大约3小时,都没什么结果。最后
终于理解错在什么地方了。
下面是出错的代码:
window.addEvent('domready',function(){ try{ document.formvalidator.setHandler('phone' ,function(value){ var regex="/^\d*$/"; if(!regex.test(value)) { alert("must be number!"); return false; } return true; }); }catch(e) { alert(e.message); } });
下面是正确的代码:
window.addEvent('domready',function(){ try{ document.formvalidator.setHandler('phone' ,function(value){ var regex=/^\d*$/; if(!regex.test(value)) { alert("must be number!"); return false; } return true; }); }catch(e) { alert(e.message); } });
如果不仔细分析,真的很难找到出错的地方那个。所有的正则测试都是失败。
出错的原因是自己对js的正则表达式不熟悉。习惯按照php的方式来写。将正则写成了一个字符串。
谨记!!!