我的正则表达式是不是有问题判断输入的是不是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,''))" > 请大虾帮帮忙啊。。急 展开
 我来答
百度网友daaf46d89
推荐于2017-11-23 · TA获得超过1189个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:502万
展开全部
首先判断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,''))" >
百度网友37a3ad652da
2019-08-09 · TA获得超过3736个赞
知道大有可为答主
回答量:3054
采纳率:29%
帮助的人:217万
展开全部
首先判断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,''))"
>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Kinogam
2010-12-03 · TA获得超过178个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:297万
展开全部
^(?:1[0-2]|[1-9])$
刚才写漏了括号,不好意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lst7911
2016-05-11
知道答主
回答量:1
采纳率:0%
帮助的人:1111
展开全部
5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
偃师贝叶作文师A6d5
2016-04-27
知道答主
回答量:35
采纳率:0%
帮助的人:9.6万
展开全部
完全没弄明白这个提问的意思啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式