怎么在jsp里判断文本框的输入值是否符合yyyy-mm-dd的格式呢?
我用的下面的代码,但是如果用户输入符合yyyy-mm-dd,则返回true。如果随便输,比如:‘asdf’,就会报错。
如果把它放到try catch里,也会报错,date_str_p.matches根本没进异常。
Java code
String date_str_p = request.getParameter("date_str");
boolean str_f = date_str_p.matches("^\\d{4}-\\d{2}-\\d{2}$");
------解决方案--------------------这两行是不会报错的,除非你的request.getParameter("date_str")==null
------解决方案--------------------弄个日期控件吧,很方便了,就不用这么麻烦了
------解决方案--------------------自己写日期很讨厌了,建议使用WdatePicker,js库。很方便的。
------解决方案--------------------楼主,这样的习惯不好哦,
if (date_str_p=="" || date_str_p==null)
尤其是:date_str_p==""
报错的话,把错误贴出来,不然怎么知道什么错呢。
------解决方案--------------------最好用一个时间控件,例如My97DatePicker,http://mysuc.com/test/My97DatePicker/
如果是后台acton调到jsp,可以
<input type="text" class="Wdate" id="date_str" name="date_str" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" value="${date_str}"/> , 用el表达式取值
如果是jsp调到jsp,可以
<input type="text" class="Wdate" id="date_str" name="date_str" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd'})" value="${param.date_str}"/>,用${param.XXX}"取值
------解决方案--------------------把错误贴出来,不然找不到错