Jquery 正则问题

让一个输入框不能输入8到50以外的代码,该怎么写,谢谢

阅读 5.6k
11 个回答

你这不是自相矛盾吗?8到50,你第一个数字输入1到7之间怎么办?这个是小于8的,但是你怎么知道还会不会再进行输入,继续输入的话就满足了大于8,但是不输入就不满足,你只有取得值之后判断是否在这个之间,在进行提交,否则不提交,提示只能输入8到50之间

为什么要用正则,直接把值取出来 parseInt 判断一下范围不就好了

HTML5 下本身可以实现。但是要兼容旧的,请参考上面
HTML5 下可以
<input type="number" name="thisname" min="8" max="50">

/[1-4]\1(?=[0-9]{1})|[8-9]{1}|50/

拿好

/^([89]|[1-4]\d|50)$/

<input type="text" onblur="/^([89]|[1-4]\d|50)$/.test(this.value) || (this.value = '',this.focus())" value="" />
if(x>=8&&x<=50){
...
}

可以用jquery的表单校验插件Validate,校验规则中有此类方法
clipboard.png

同意楼上的说法,用jQuery的表单验证Validate控件好了,或者可以用lazy,就是等失去焦点之后再判断输入框里的值是否满足条件,不然类似18,25之类的数字,才输了个1就会提示错误,虽然还是可以继续输,但是用户体验不好。

/^[1-4]{1}(?=[0-9]{1}$)|(^[8-9]{1}$)|(^50$)/

这个简单啊,直接用正则就好了啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题