在多个input文本框内输入1-30、2-1000、1-100、12-1024范围的正整数(包含两端),求大神写完整的正则!
答案:1 悬赏:10 手机版
解决时间 2021-04-03 11:01
- 提问者网友:寂寞撕碎了回忆
- 2021-04-02 23:48
在多个input文本框内输入1-30、2-1000、1-100、12-1024范围的正整数(包含两端),求大神写完整的正则!
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-04-03 01:13
js:
1~30:/^[1-9]|[12][0-9]|30$/
2~1000:/^[2-9]|[1-9][0-9]{1,2}|1000$/
1~100:/^[1-9]|[1-9][0-9]|100$/
12~1024:/^1[2-9]|[2-9][0-9]|[1-9][0-9][0-9]|10([01][0-9]|2[0-4])$/
以上,未测,有点累...追问这些可以直接写在INPUT标签里么?我是新手。谢谢啊!类似onkeyup="this.value=this.value.replace(/[^1-9]/g,'')" maxlength="4" size="4"这种直接写在标签里的,这个范围就是1~9999!大神能帮帮我么?追答
正则改成:
1~30:/^([1-9]|[12][0-9]|30)$/
2~1000:/^([2-9]|[1-9][0-9]{1,2}|1000)$/
1~100:/^([1-9]|[1-9][0-9]|100)$/
12~1024:/^(1[2-9]|[2-9][0-9]|[1-9][0-9][0-9]|10([01][0-9]|2[0-4]))$/追问1~30,1~100都可以,因为1比3小 而2~1000和12~1024的时候就会报错!就例如2~1000我想输入个100,再输入1的时候就已经报错了,12~1024也由这种问题!这个可以解决么?实在麻烦您了,希望将1~9999的正则也写成你给我的那种形式,跪谢了!追答出错是因为事件的原因,你把触发事件改成 onblur :
这样就是当 焦点移开的时候才去判断,才去提示了。
至于 1~9999 的正则:
/^[1-9][0-9]{0,3}$/
1~30:/^[1-9]|[12][0-9]|30$/
2~1000:/^[2-9]|[1-9][0-9]{1,2}|1000$/
1~100:/^[1-9]|[1-9][0-9]|100$/
12~1024:/^1[2-9]|[2-9][0-9]|[1-9][0-9][0-9]|10([01][0-9]|2[0-4])$/
以上,未测,有点累...追问这些可以直接写在INPUT标签里么?我是新手。谢谢啊!类似onkeyup="this.value=this.value.replace(/[^1-9]/g,'')" maxlength="4" size="4"这种直接写在标签里的,这个范围就是1~9999!大神能帮帮我么?追答
正则改成:
1~30:/^([1-9]|[12][0-9]|30)$/
2~1000:/^([2-9]|[1-9][0-9]{1,2}|1000)$/
1~100:/^([1-9]|[1-9][0-9]|100)$/
12~1024:/^(1[2-9]|[2-9][0-9]|[1-9][0-9][0-9]|10([01][0-9]|2[0-4]))$/追问1~30,1~100都可以,因为1比3小 而2~1000和12~1024的时候就会报错!就例如2~1000我想输入个100,再输入1的时候就已经报错了,12~1024也由这种问题!这个可以解决么?实在麻烦您了,希望将1~9999的正则也写成你给我的那种形式,跪谢了!追答出错是因为事件的原因,你把触发事件改成 onblur :
这样就是当 焦点移开的时候才去判断,才去提示了。
至于 1~9999 的正则:
/^[1-9][0-9]{0,3}$/
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯