이 글에서는 정규 표현식 관련 지식을 자세히 설명합니다.
d, w, s, [a-zA-Z0-9], b,.,*,+,?,x{3},^,$는 각각 무엇인가요?
d: 메타 문자, [0-9]에 해당하는 숫자와 일치(0에서 9 사이의 하나와 일치)
w: 메타 문자, 문자, 숫자, 밑줄 또는 중국어 문자와 일치, [0-9a-zA-에 해당) Z_];
s: 메타 문자, 모든 공백 문자와 일치
[a-zA-Z0-9]: []는 그 중 하나와 일치하는 범위를 지정합니다. 예에서는 a-z/A-Z/와 일치합니다. w(한자 제외);
b: 단어의 시작 또는 끝과 일치하는 메타 문자(단어 경계):
var a= "hello helloworld"; var reg = /bhellob/;
a.match(reg); //결과는 "hello"입니다.
.: 메타 문자, 개행 문자를 제외한 모든 문자와 일치
*: 한정자, 0회 이상 반복
+: 한정자 기호, 1회 이상 반복;
? : 한정자, 0회 또는 1회 반복됨;
x{3}: 한정자, x가 3회 나타남({n}은 n회 반복됨, {n,m}은 n-m회 반복됨(n,m 포함); {n, }가 반복됨) 최소 n회, 최대 m회 반복됨)
: []의 부정을 의미합니다. ([abc]는 abc 중 하나와 일치하고, [abc]는 abc를 제외한 모든 문자와 일치합니다.) times 문자열의 시작 부분과 일치합니다.
$: 문자열의 끝 부분과 일치합니다. (^hello&: hello로 시작하고 hello로 끝나는 문자열과 일치합니다.)
양쪽의 공백 문자를 제거하는 함수를 작성합니다.
function trim(str) { return str.replace(/^\s+|\s+$/g,'') //匹配开头或结尾的空白字符,替换成''; }
사용자 입력이 이메일 주소인지 판별하는 isEmail(str) 함수를 작성하세요
function isEmail(str) { var reg = /^[a-zA-Z\d_]+\@[a-zA-Z\d]+\.[a-zA-Z\d]+$/g; return reg.test(str); }
사용자 입력이 휴대폰 번호인지 판별하는 isPhoneNum(str) 함수를 작성하세요
function isPhoneNum(str) { var reg = /^1[3578]\d{9}$/g; return reg.test(str); }
함수 작성 isValidUsername(str)을 사용하여 사용자 입력이 휴대폰 번호인지 확인합니다. 유효한 사용자 이름이 아닙니다(길이 6~20자, 문자, 숫자, 밑줄만 포함할 수 있음)
function isValidUsername(str) { var reg = /^([a-zA-Z\d_]){6,20}$/g; return reg.test(str); }
isValidPassword(str) 함수를 작성하여 확인합니다. 사용자가 유효한 비밀번호를 입력했는지 여부(길이 6~20자, 대문자, 소문자, 숫자, 밑줄 및 최소 두 가지 유형 포함)
function isValidPassword(str) { if (/^[a-zA-Z0-9_]{6,20}$/g.test(str)) { if (/^[a-z]{6,20}$/g.test(str) || /^[A-Z]{6,20}$/g.test(str) || /^[0-9]{6,20}$/g.test(str) || /^[_]{6,20}$/g.test(str)) { return false; }else { return true; } }else { return false; } }
다음 문자열의 모든 색상을 얻으려면 정규식을 작성하세요
var re = /*正则...*/var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "console.log( subj.match(re) ) // ['#121212', '#AA00ef'] var re = /#[a-f\d]{6}/ig;var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee";console.log( subj.match(re) )
다음 코드는 무엇을 출력합니까? [""hunger"", ""world""]
var str = 'hello "hunger" , hello "world"';var pat = /".*"/g; str.match(pat); //输出[""hunger" , hello "world""];
//정규 표현식은 기본적으로 탐욕적이며 가능한 한 많은 일치 항목을 일치하도록 코드를 다시 작성합니다. 조건이 충족되었습니다.
//코드 다시 작성
var str = 'hello "hunger" , hello "world"'; var pat = /".*?"/g; //添加?改成非贪婪模式,尽可能少的匹配; str.match(pat); //[""hunger"", ""world""]
이 문서에서는 정규식에 대한 관련 설명을 제공하므로 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참조하세요.
관련 권장 사항:
위 내용은 정규식 관련 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!