求一校验全国行政区域代码的正则表达式:
前两位代表省代码,中间两位代表市代码,后两位代表县代码 共6位长度。
其前两位中省代码中第一位不能为0,后一位可以为零,如11,25,30,但不能是01,03等。
市县代码的两不能同时为0即可。
如:301088、321088、320188、321001、321010可以
但 031088、320088、320000、321000等则不行。
先谢了!!!
前两位代表省代码,中间两位代表市代码,后两位代表县代码 共6位长度。
其前两位中省代码中第一位不能为0,后一位可以为零,如11,25,30,但不能是01,03等。
市县代码的两不能同时为0即可。
如:301088、321088、320188、321001、321010可以
但 031088、320088、320000、321000等则不行。
先谢了!!!
function test(str){
return /[1-9]\d{5}/ig.test(str);
}
var reg = /^[1-9]\d(\d{2})(\d{2})$/;
str = str.toString();
var temp = str.match(reg);
if(temp[1]!=00 && temp[2]!=00){
alert("true");
}
else{
alert("false");
} }
test(320010)
已通过测试:<script>
var r=/^[1-9]\d([1-9]\d|\d[1-9]){2}$/;
var s="301088、321088、320188、321001、321010、031088、320088、320000、321000".split("、");for(var i=0;i<s.length;i++){
document.write(s[i]+": "+r.test(s[i])+"<br>");
}
</script>
var regx=/[1-9]\d(?!00)\d{2}(?!00)\d{2}/;alert(a.match(regx));这个直接测试 可用