关于校验只能输入纯数字的问题

  在敲代码时我们都会遇到一些校验的问题,比如手机号的校验啊,用户名或者密码格式的校验啊什么的,大多数的校验我们都会在前端进行,通过一些正则表达式就能够完成。现在我要说的是我在校验输入的内容格式时遇到一些问题。
  οnkeyup="this.value=this.value.replace(/\D/g,’’),这条语句应该都熟悉,其中的正则表达式“/\D/g”是为了校验输入的内容是否为数字,如果不是则替换为空。但是有一个问题是, 他无法校验在中文输入法下通过回车输入的英文字母,这就很头疼了。在网上找了好多资料,都没有给出详细的解释和解决方案, 只是知道英文输入法下输入的英文字母是半角的,在中文输入法下输入的字母是全角的,但是具体怎么解决却没有。头疼了很久。
  一开始是想和还在前端校验,写了很多方法试了试,还是不行,最终就只能转向后端校验了。后端校验的话,其实很简单,具体校验的代码如下:

String reg = "/\D/g";
if (!Pattern.matches(reg,str)){// str为前端传来的需要校验的数据
	//返回给前端错误信息
}

这样的话,还是很简单就能解决这样的问题。
  以上只是我对于这样的问题的一种解决方式,可供大家参考,如果有更好的解决方式,欢迎大家的指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值