请教高手我有三个问题:
1。在文本框内只能输入日期类型,如2006-11-19。其它中文,英文和其它符号都不能输入。
2。只能输入中文。其它英文,数字,和符号都不能输入。
3。只能输入数字。其它中文,英文,和符号都不能输入。

解决方案 »

  1.   

    对于1可以用simpleDateFormat里面的format:
    try{
    Date date = new SimpleDateFormat("yyyy-MM-dd").parse(formData);
    }catch(Exception ex){
       error.add(....)
    }来验证,
    第3个可以用正则表达式来验证:
    Pattern p = Pattern,complie(formDate);
    Matcher m = p.matcher("[0-9]{" + formData.length() + "}")
    这个只是验证没有小数点的输入,如果是有小数点的话把matcher后面的改成:
    [0-9]{" + intNum + "}.[0-9]{" + flotNum + "}即可。
    至于第2个问题,楼主可以去网上搜一下,应该会找到。
      

  2.   

    用正则表达式实现判断YYYY-MM-DD这种格式的,基本上把闰年和2月等的情况都考虑进去了。 /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$ /
      

  3.   

    第二个前一阵csdn上就有
    我找找啊
      

  4.   

    String str="asdfas大幅度df";
        java.util.regex.Pattern p=java.util.regex.Pattern.compile("[\u4e00-\u9fa5]");
        java.util.regex.Matcher m=p.matcher(str);
        if(m.find()){
          System.out.println("含有中文");
        }else{
          System.out.println("没有中文");
        }
      

  5.   

    有谁能帮我解释下:/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$ /我所提出的第一个问题希望能写全些,先谢谢大家。我还会加分!!!
      

  6.   

    用js的正则表达式判断,document.getElementByName("文本框名").value.match("正则表达式")
    上面的兄弟给的是判断年份的正则表达式,代入进去就是判断月份的代码,返回一个bool结果.判断汉字的:/^[\u4e00-\u9fa5]+$/
    判断E文的:/^[a-zA-Z]$/
      

  7.   

    E文的写错了,少了个+;  /^[a-zA-Z]+$/