黑马旅游网遇到的问题

黑马旅游网遇到的问题

注册表单校验

注册功能,需要在提交表单之前对input标签内的文本进行检验,因为涉及到许多格式的校验,要用到正则表达式,这方面又学的稀松冰凉,尤其是对生日的正则表达式检验很头疼,所以就找了很多检验表单时用到的正则表达式。

//用户名正则,4到16位(字母,数字,下划线,减号)
var reg_username = /^[a-zA-Z0-9_-]{4,16}$/;
//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var reg_password = /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//Email正则
var reg_email = /^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/;
//手机号正则
var reg_telephone= /^1[34578]d{9}$/; 
//日期正则,简单判定,未做月份及日期的判定
var reg_date = /(\d{4})(-|\/)(\d{1,2})(-|\/)(\d{1,2})/g;
//日期正则,复杂判定
var reg_date = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
//包含中文正则
var reg_chinese = /[u4E00-u9FA5]/;

在注册功能的web、service、dao层的编写后,发现中文写入数据库乱码,跟着老师写了一个监听器来对post请求统一改成utf-8的编码格式,但是还是有乱码,于是开始打印每个环节数据,发现从浏览器请求的request.getParameterMap()方法中的中文就是乱码,所以问题位置基本找到。找了很多关于乱码的解决方法,在此列出
一类是修改pom.xml文件中的tomcat配置添加uri属性

```javascript
 <!--tomcat插件-->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <!-- tomcat7的插件, 不同tomcat版本这个也不一样 -->
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>在这里插入代码片
                    <!-- 通过maven tomcat7:run运行项目时,访问项目的端口号 -->
                    <port>8080</port>
                    <!-- 项目访问路径  本例:localhost:9090,  如果配置的aa, 则访问路径为localhost:9090/aa-->
                    <path>/travel</path>
                    <server>tomcat</server>
                    <!-- 设置编码格式为UTF-8-->
                    <uriEncoding>UTF-8</uriEncoding>
                </configuration>
            </plugin> 

不过此方法对我的问题并不适用,最后发现在maven下Runner里配置了一个属性就解决了。
添加 -Dfile.encoding=GB2312
好像是设置文件默认字符集,于是又尝试改成UTF-8是否也可行,但是使用UTF-8时就会乱码。希望有大佬可以指点一下为什么不可以。
在这里插入图片描述
后面比较顺利,基本没有什么困扰很久的问题。就到这里,欢迎交流

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值