急求一个JS 正则表达式 匹配 号码末四位不带4
要求匹配一个号码,号码位数大于等于4为,求一个正则表达式匹配号码末四位不带4
下面这个是带4的
<html>
<script type="text/javascript">
function verify()
{
var iphoneNum = "111411141";
var pattern = /(\d{0,30}(\d{3}[4]|\d{2}[4]\d|\d[4]\d{2}|[4]\d{3}))$/;
flag = pattern.exec(iphoneNum);
if(flag)
{
alert("4");
}
else
{
alert("!4");
}
}
</script>
<body>
<form >
<input type="button" onclick = 'verify();'>
</form>
</body>
</html>
[解决办法]
var $a='342789';
var $b='279324';
var $r=/^\d*[1-35-9]{4}$/;
var $c =$r.test($a);
[解决办法]
var reg=/^\d*?(?!.*?4.*?)\d{4}$/;
var a=["10000","102040","1004"];
for(var i=0;i<a.length;i++){
alert(a[i]+":"+reg.test(a[i]));
}
看看这样行不
[解决办法]
\d{7}[1-35-9]{4}
[解决办法]
1.大于四位,末尾四位不带4
^\d*[^4]{4}$
2.大于四位,末尾四位带4
^\d*(?![1-35-9]{4}$)\d{4}$