<script>
var re = /^\d{5}(;\d{5})*$/;
alert(re.test("12345"));
alert(re.test("12345;67890"));
alert(re.test("12345;67890;98765"));
alert(re.test("12345;67890;987;65"));
</script>
var re = /^\d{5}(;\d{5})*$/;
alert(re.test("12345"));
alert(re.test("12345;67890"));
alert(re.test("12345;67890;98765"));
alert(re.test("12345;67890;987;65"));
</script>
var re = /^[1-9]\d{4}(?:;[1-9]\d{4})*$/;
为什么
(\d{5}\;\d{5})可以匹配12345;12345
(\d{5})可以匹配12345
但是(\d{5})|(\d{5}\;\d{5})却只能匹配12345,而不能匹配12345;12345
只有前面的(\d{5})可以匹配,如果把前面的(\d{5})换成一个字符,如
(\;)|(\d{5}\;\d{5}),这样即可以匹配字符";",又可以匹配12345;12345了
var re = /^(\d{5})|(\d{5}\;\d{5})$/
alert(re.test("12345;12345"));//true
</script>是可以的
(\d{5})|(\d{5}\*+;+\d{5}*)
应该就可以了