Sxd0208
2016-12-22 08:46
采纳率: 51.2%
浏览 8.6k

正则表达式要求只能输入正整数(多位)

正则表达式要求只能输入正整数(多位)?第一位不可以是0.求教怎么写?
input type="text" name="operUser.id" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"

onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
class="form-control " placeholder="请输入非负整数">我是这样弄得 但是长按0,
0依然可以输入

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 已采纳

    多位的时候还需要去掉开头的0

     <input type="text" name="operUser.id" onkeyup="if (this.value.length == 1) { this.value = this.value.replace(/[^1-9]/g, '') } else { this.value = this.value.replace(/\D/g, '').replace(/^0+/g, '') }"
           onafterpaste="if (this.value.length == 1) { this.value = this.value.replace(/[^1-9]/g, '') } else { this.value = this.value.replace(/^0+/g, '') }"
           class="form-control " placeholder="请输入非负整数">
    
    已采纳该答案
    打赏 评论
  • kun_hello 2016-12-22 09:03
    ^[1-9]\d*|0$
    
    打赏 评论
  • hehexiaoxia 2016-12-22 09:04

    ^[1-9]\d*$
    或者
    ^[1-9][0-9]*$

    打赏 评论
  • Sxd0208 2016-12-22 09:10

    onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
    placeholder="请输入非负整数">
    我是这样整的 但是长按0的话 0依然可以输入

    打赏 评论
  • Sxd0208 2016-12-22 09:11

    onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"
    class="form-control " placeholder="请输入非负整数"> 我是这样整的 但是长按0的话 0依然可以输入

    打赏 评论
  • zjs261019 2016-12-22 09:59

    ^[1-9][0-9]*$

    打赏 评论

相关推荐 更多相似问题