记事贴2:Struts的Validator并不好用!

记事贴2:Struts的Validator并不好用!转载

记事贴2:Struts的Validator并不好用!
2005年 02月01日
使用正则表达式,使email字段中不能输入汉字。最近用AppFuse开发一个BS的系统, 用的是Struts的MVC部分,使用Validator进行验证,结果发现Validator的验证EMail并不好,EMail中可以输入汉字,然后 到服务器端验证,我配置了客户端验证,也可以验证Email的格式,但如果输入的是正确的格式,但是包含汉字它却验证不出来,但到了后台又管用了,不知道 为什么,时间紧,我也没时间去研究它,找到一个方法可以解决这个问题,虽不完美,却也凑合:

使用正则表达式,将原代码
            <html:text property="email" styleId="email" size="50"/>
注释,换成

            <input type="text" name="email" value='<c:out value="${userForm.email}"/>' onkeyup="value=value.replace(/["u4E00-"u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/["u4E00-"u9FA5]/g,''))"
 />
就解决了问题,用户如果输入汉字,则自动删除汉字,而且如果使用向左的箭头向前移动使光标前移,则根本移动不了,光标始终在行尾,只能删除后面的字符,再重新写,其实最好是在EMail的自动生成的脚本中提示,目前先这样实现吧,将来再说!

你可能感兴趣的:(记事贴2:Struts的Validator并不好用!)