1. 比如:限制字数长度为4
var reg = /^\d{4}$/g
解释:以四个数字开头并且也是以这四个数字结尾,所以就限制了数字长度,只能为四。
注意:也是以这四个数
2、如果是:以四个数字开头,且以四个数字结尾的写法又是什么呢?那么字数长度就没有受到限制了,当然了,至少是四个。
不会写!
—————分割线—————
更新答案:时隔多年,看到了这篇文章,早就知道答案的我,今天(2020.8.3)来写一下这个答案,要告诫自己,不管平时工作多忙,还是要每天坚持看博客,更新博客。
var reg = /^\d{4}((\w|\W)*\d{4}$|\d{0,3}$)/g
var str = "1234asfwerqgrwg~!@#$%^&*()_+reqqg5678";
var str1 = "12345";
var str2 = "1234a567";
console.log(str.match(reg))//["1234asfwerqgrwg~!@#$%^&*()_+reqqg5678"]
console.log(str1.match(reg))//["12345"]
console.log(str2.match(reg))//null
分析一下:
必须是要有四个数字开头:^\d{4}
两种情况:(1)字符串的长度大于等于8,(2)和字符串的长度大于等于4,小于7
情况(1)必须以四个数字结尾,中间可以有任意个任意字符,(\w|\W)*,大家注意表示任意字符的方法,就是匹配全部字符嘛
你可以用\d|\D,即数字和非数字的交集;也可以用\w|\W,单字字符和非单字字符的交集,就表示全部任意字符。
情况(2)必须是0~3个数字结尾,即“1234”四个数字、“12345”五个数字、六个数字、七个数字,这几种情况
3、如果是四个数字开头或者四个数字结尾
答案是:
var reg = /^\d{4}|\d{4}$/g
var str = "12.13jdkakfgdsagr1235";
console.log(reg.exec(str))