javascrip中正则匹配值 true和false 反复出现问题

在javascript中使用正则表达式匹配一段字符串时出现奇怪的现象,匹配结果为true和false反复出现。

javascript代码:

function check() {
		var lists = document.getElementsByName("orders");
		var flag = false;
		var pattern = /^(\d+)$/ig;
		for(var v = 0; v < lists.length; ++v) {
			var val = lists[v].value;
			var result = pattern.test(val);
			alert("-" + result + "-" + val + "-" + v + "-");
			if(tt) {
				if(val != 0) {
					flag == true;
				}
			} else {
				alert("订货量填写有误,请仔细核对!");
				//return false;
			}
		}
		if(flag == false) {
			alert("此次没有订货数量,请核对!");
		}
	}


其中result反复为true和false,查看w3c,找到以下提示:



所以,解决此问题,可以去掉pattern后面的g,或者在pattern执行完后手动将lastIndex置为0。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值