我的正则表达式是不是有问题判断输入的是不是1-12之间的数字
<inputonkeyup="value=value.replace(/^[1][1|2]$/is,'')"onbeforepaste="clipboardData.se...
<input onkeyup="value=value.replace(/^[1][1|2]$/is,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/^[1][1|2]$/is,''))" > 请大虾帮帮忙啊。。急
展开
6个回答
展开全部
首先判断1-12之间的整数的正则
应该是
/^(1[0-2]|[1-9])$/is
其次,你的JS事件使用的有问题onkeyup事件是按键时触发,也就是说你每按下一个键触发一次
就判断一次,也就是只能判断一个字符
建议你换成onblur事件,在文本框失去焦点的时候验证
<input onblur="if (!value.match('/^([1-9]|1[0-2])$/is'))
{alert('数字只能是1-12');this.focus();}" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace
(/^[1][1|2]$/is,''))" >
应该是
/^(1[0-2]|[1-9])$/is
其次,你的JS事件使用的有问题onkeyup事件是按键时触发,也就是说你每按下一个键触发一次
就判断一次,也就是只能判断一个字符
建议你换成onblur事件,在文本框失去焦点的时候验证
<input onblur="if (!value.match('/^([1-9]|1[0-2])$/is'))
{alert('数字只能是1-12');this.focus();}" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace
(/^[1][1|2]$/is,''))" >
展开全部
首先判断1-12之间的整数的正则
应该是
/^(1[0-2]|[1-9])$/is
其次,你的JS事件使用的有问题onkeyup事件是按键时触发,也就是说你每按下一个键触发一次
就判断一次,也就是只能判断一个字符
建议你换成onblur事件,在文本框失去焦点的时候验证
<input
onblur="if
(!value.match('/^([1-9]|1[0-2])$/is'))
{alert('数字只能是1-12');this.focus();}"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace
(/^[1][1|2]$/is,''))"
>
应该是
/^(1[0-2]|[1-9])$/is
其次,你的JS事件使用的有问题onkeyup事件是按键时触发,也就是说你每按下一个键触发一次
就判断一次,也就是只能判断一个字符
建议你换成onblur事件,在文本框失去焦点的时候验证
<input
onblur="if
(!value.match('/^([1-9]|1[0-2])$/is'))
{alert('数字只能是1-12');this.focus();}"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace
(/^[1][1|2]$/is,''))"
>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
^(?:1[0-2]|[1-9])$
刚才写漏了括号,不好意思
刚才写漏了括号,不好意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
完全没弄明白这个提问的意思啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询