鍍金池/ 問答/HTML/ 正則匹配只能是數(shù)字字母,開始和結(jié)束到底匹配到哪里?

正則匹配只能是數(shù)字字母,開始和結(jié)束到底匹配到哪里?

正則匹配只能是數(shù)字字母,開始和結(jié)束到底匹配到哪里。
let reg2=/^[a-zA-Z0-9]+$/

        let reg1=/[a-zA-Z0-9]+/;//匹配至少含有一個(gè)數(shù)字或字母的字符串
        let reg2=/^[a-zA-Z0-9]+$/;//?這個(gè)開始和結(jié)尾到底匹配到哪里
         
        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
回答
編輯回答
檸檬藍(lán)

^匹配字符串的開始,匹配一個(gè)位置;
$匹配字符串的結(jié)束,匹配一個(gè)位置;
/^[a-zA-Z0-9]+$/的意思就是首先要匹配字符串開始,然后是1到多個(gè)字母或者數(shù)字,然后是字符串的結(jié)束,總結(jié)一下就是整個(gè)字符串就是由1到多個(gè)字母和數(shù)字組成的。

你可以使用字符串的match方法進(jìn)一步查看匹配的情況,test只會(huì)返回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"]
2018年3月17日 23:57
編輯回答
生性

意思就是一個(gè)字符串要能匹配這個(gè)正則,就必須全部是數(shù)字和字母,從開頭到結(jié)束都是字母和數(shù)字

2017年2月13日 10:41
編輯回答
挽歌

正則匹配你當(dāng)前需要匹配的整個(gè)字符串,若字符串符合正則返回true,反之返回false。

2017年7月21日 22:26