url 에서 매개 변 수 를 가 져 옵 니 다.

4531 단어 정규 표현 식js
본문 은 weixin 에 전재 되 었 다.44296929 블 로그https://blog.csdn.net/weixin_44296929/article/details/101207166
1. 아래 코드 에서 url 에서 인자 이름 name 의 매개 변수 값 을 가 져 옵 니 다.
var getQuery = function(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);

if (r != null)
	return (r[2]);
	return null;
};

인터넷 에서 자 료 를 찾 아 봤 는데 상세 하지 않 습 니 다. 기록 해 보 세 요. 남 겨 두 고 돌아 오 는 것 을 잊 어 버 렸 습 니 다. 예 를 들 어 우 리 는 url 에서 state 인 자 를 얻 고 싶 습 니 다. 보통 인 자 를 가 진 Get 요청 url 은:http://test.html?state=102&isreturn=1 http://test.html?isreturn=1&state=102
2. 다음 정규 표현 식 의 의 미 를 말씀 드 리 겠 습 니 다. var reg = new RegExp ("(^ | &)" + name + "= ([^ &] *) (& | $)", "i");^n : n 으로 시작 하 는 모든 문자열 과 일치 합 니 다."(^|&)"+name : & name 로 시작 하거나 공백 name 으로 시작 하 는 문자열 과 일치 합 니 다.(사실은 | 앞 에 공백 이 있 으 면 아무것도 없다. 즉, url 의 첫 번 째 매개 변수 나 두 번 째 매개 변 수 를 연결 하 는 경우)[^abc] : abc 를 제외 한 다른 문자 와 일치 합 니 다.[^&] : & 를 제외 한 임의의 문자 와 일치 합 니 다 (이해 하기 쉽 습 니 다. 일단 나타 나 면 & 설명 이 다른 매개 변수 이기 때문에 일치 하지 않 습 니 다).[^&]* : 임의의 수량 과 일치 하 는 & 이외 의 문자 (즉, name = 뒤의 값 은 & 가 있 으 면 뒤로 값 을 추출 하지 않 습 니 다).n$ : n 으로 끝 나 는 모든 문자열 과 일치 합 니 다.(&|$) : & 로 끝나 거나 공백 으로 끝 나 는 모든 매개 변수 와 일치 합 니 다 (즉, 이 매개 변수 가 중간 또는 마지막 매개 변수 와 일치 하 는 경우).([^&]*)(&|$) : 일치 & 이외 의 여러 매개 변수 값 으로 & 또는 공백 이 발생 하면 중단 합 니 다.(다음 매개 변 수 를 만 났 습 니 다. 즉, 이 매개 변수 가 중간 에 있 는 상황 에서 공백 설명 이 값 이 없습니다. 즉, 이 매개 변 수 는 마지막 매개 변수 입 니 다). “(^|&)” + name + "=([^&]*)(&|$) : 일치 하 는 & name = 시작 또는 name = 시작 중간 에 & 를 제외 한 여러 문자 가 있 으 면 & 또는 공백 이 생기 면 추출 을 중단 합 니 다.
마지막 으로 두 번 째 인자: i 대소 문자 에 민감 하지 않 은 일치 실행
(즉, 우리 가 원 하 는 인자 state 는 state 나 STATE 나 StAtE 등 과 일치 할 수 있 습 니 다. 대소 문자 에 민감 하지 않 습 니 다)g: 전역 매 칭 을 실행 합 니 다. (첫 번 째 매 칭 을 찾 은 후에 멈 추 지 않 고 모든 매 칭 을 찾 습 니 다)m: 여러 줄 일치 실행
추가: RegExp 대상 만 들 기: new RegExp (pattern, attributes);
new 키 워드 를 사용 하면 RegExp 대상 을 만 들 고 new 키 워드 를 사용 하지 않 으 면 RegExp 대상 을 만 들 지 않 습 니 다 (정규 문자열 로 직접 사용)
ECMAScript 가 표준화 되 기 전에는 m 속성 을 지원 하지 않 습 니 다.pattern 이 문자열 이 아 닌 정규 표현 식 이 라면 이 인 자 를 생략 해 야 합 니 다.
- - - - - 저작권 성명: 본 고 는 CSDN 블 로 거 'weixin 44296929' 의 오리지널 글 입 니 다. CC 4.0 BY - SA 저작권 협의 에 따라 원문 출처 링크 와 본 성명 을 첨부 하 십시오.원본 링크:https://blog.csdn.net/weixin_44296929/article/details/101207166

좋은 웹페이지 즐겨찾기