正则匹配只能是数字字母,开始和结束到底匹配到哪里。let reg2=/^[a-zA-Z0-9]+$/ let reg1=/[a-zA-Z0-9]+/;//匹配至少含有一个数字或字母的字符串
let reg2=/^[a-zA-Z0-9]+$/;//?这个开始和结尾到底匹配到哪里
console.log(reg1.test(''));//false
console.log(reg1.test('a-'));//true
console.log(reg1.test('13232-3213'));//true
console.log(reg1.test('423432432'));//true
console.log(reg2.test(''));//false
console.log(reg2.test('a-'));//false
console.log(reg2.test('13232-3213'));//false
console.log(reg2.test('423432432'));//true
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
^
匹配字符串的开始,匹配一个位置;$
匹配字符串的结束,匹配一个位置;/^[a-zA-Z0-9]+$/
的意思就是首先要匹配字符串开始,然后是1到多个字母或者数字,然后是字符串的结束,总结一下就是整个字符串就是由1到多个字母和数字组成的。
你可以使用字符串的match
方法进一步查看匹配的情况,test
只会返回true
或者false
,并不提供匹配的具体的字符串:
let reg1=/[a-zA-Z0-9]+/g; let reg2=/^[a-zA-Z0-9]+$/g; '13232-3213'.match(reg1) // ["13232", "3213"]'423432432'.match(reg1) // ["423432432"]'13232-3213'.match(reg2) // null'423432432'.match(reg2) // ["423432432"]
添加回答
举报
0/150
提交
取消