웹 프론트엔드 JS 튜토리얼 js 정규식의 기본 구문 요약

js 정규식의 기본 구문 요약

Mar 28, 2018 pm 02:46 PM
javascript 정규식

이 글은 주로 js 정규식의 기본 구문 요약을 공유하며 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다. 편집자를 따라가서 살펴보겠습니다.

1. 기본 정규식 구문

두 개의 특수 기호 '^' 및 '$'. 그들의 기능은 각각 문자열의 시작과 끝을 나타내는 것입니다.

예는 다음과 같습니다:

"^The": "The"로 시작하는 모든 문자열을 의미합니다("There", "The cat" 등).

"of 절망$": "로 끝나는 모든 문자열을 의미합니다. of 절망" 문자열;

"^abc$": "abc"로 시작하고 끝나는 문자열을 나타냅니다. 하하, "abc" 자체만 나타냅니다.

"notice": "notice"를 포함하는 문자열을 나타냅니다.

마지막 예와 같이 두 개의 특수 문자를 사용하지 않으면 찾으려는 문자열이 검색된 문자열의 어떤 부분에도 있음을 나타내는 것입니다. 즉, 맨 위에 위치하는 것이 아닙니다.

기타 기호로는 '*', '+', '?' 등이 있는데, 이는 문자 또는 일련의 문자가 반복적으로 나타나는 횟수를 나타냅니다.

각각 "없음 또는 그 이상", "한 번 이상" 및 "없음 또는 한 번"을 의미합니다.


다음은 몇 가지 예입니다.

"ab*": 문자열에 a 다음에 0개 또는 여러 개의 b가 있음을 나타냅니다. ("a", "ab", "abbb",...);

"ab+": 문자열에 a가 하나 이상 있음을 나타냅니다.

"ab?": 문자열을 나타냅니다. a 다음에 0개 또는 1개의 b가 있습니다.

"a?b+$": 문자열 끝에 a가 0개 또는 1개 있고 b가 1개 또는 여러 개 있다는 의미입니다.

중괄호로 묶인 범위를 사용하여 반복 범위를 나타낼 수도 있습니다.

"ab{2}": 문자열에 a 뒤에 2개의 b가 있음을 나타냅니다("abb").

"ab{2,}": 문자열에 a 뒤에 최소한 2개의 b가 있음을 나타냅니다.

"ab{3,5}": 문자열에 a 다음에 3~5b가 있음을 나타냅니다.

범위의 하한을 지정해야 한다는 점에 유의하세요(예: "{,2}" 대신 "{0,2}").

또한 '*', '+' 및 '?'는 "{0,}", "{1,}" 및 "{0,1}"과 동일하다는 점을 눈치채셨을 것입니다.

"또는" 연산을 의미하는 '¦'도 있습니다.

"hi¦hello": 문자열에 "hi" 또는 "hello"가 있음을 의미합니다.

"(b¦cd)ef": "bef" 또는 "cdef"를 의미합니다.

"(a¦b)*c": "a"와 "b" 뒤에 "c"가 오는 혼합 문자열을 나타냅니다.'

"a.[0-9]": 문자열에 "a" 뒤에 임의의 문자와 숫자가 있음을 나타냅니다.

"^.{3}$": 세 문자로 구성된 문자열을 나타냅니다. 길이는 3자입니다.)

대괄호는 특정 문자가 문자열의 특정 위치에 나타날 수 있음을 나타냅니다.

"[ab]": 문자열에 "a" 또는 "b"가 있음을 나타냅니다. to "a¦b");

"[a-d]": 문자열에 소문자 'a' ~ 'd' 중 하나가 포함되어 있음을 나타냅니다("a¦b¦c¦d" 또는 "[abcd ]"와 동일). ;

"^[a-zA-Z]": 문자로 시작하는 문자열을 나타냅니다.

"[0-9]%": 백분율 기호 앞에 있는 숫자를 나타냅니다.

",[a-zA-Z0-9]$": 문자열이 쉼표로 끝나고 그 뒤에 문자나 숫자가 오는 것을 나타냅니다.

대괄호 안에 '^'를 사용하여 원하지 않는 문자를 나타낼 수도 있습니다. '^'는 대괄호 안의 첫 번째 문자여야 합니다.

(예: "%[^a-zA-Z]%"는 두 개의 퍼센트 기호 사이에 문자가 나타나지 않아야 함을 의미합니다).

그대로 표현하려면 "^.$()¦*+?{" 문자 앞에 시프트 문자 ''를 추가해야 합니다.

대괄호 안에는 이스케이프 문자가 필요하지 않습니다.

2. 텍스트 상자의 입력 문자 유형을 제어합니다

1. 숫자와 영어만 입력할 수 있습니다:

<input onkeyup="value=value.replace(/[\W]/g,&#39;&#39;) "
 onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\d]/g,&#39;&#39;))" 
 ID="Text1" 
 NAME="Text1">
로그인 후 복사

2. 숫자만 입력할 수 있습니다:

<input onkeyup="value=value.replace(/[^\d]/g,&#39;&#39;) " 
onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\d]/g,&#39;&#39;))" 
ID="Text2" 
NAME="Text2">
로그인 후 복사

3. 전각 문자만 입력 가능:


<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,&#39;&#39;)" 
onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\uFF00-\uFFFF]/g,&#39;&#39;))" 
ID="Text3" 
NAME="Text3">
로그인 후 복사

4. 한자만 입력 가능:

<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,&#39;&#39;)" 
onbeforepaste="clipboardData.setData(&#39;text&#39;,clipboardData.getData(&#39;text&#39;).replace(/[^\u4E00-\u9FA5]/g,&#39;&#39;))" 
ID="Text4" 
NAME="Text4">
로그인 후 복사

3 정규식 적용 예시에 대한 인기 설명

* ***** ********************************************* ****** *************************

//모두 숫자로 구성되어 있는지 확인

/^[0- 9]{1,20}$/

^은 ^

$ 바로 다음의 시작 문자가 규칙과 일치해야 함을 의미합니다. 즉, $

[] 직전의 시작 문자가 규칙과 일치해야 한다는 의미는 선택적 문자 집합입니다

[0-9] 필수 문자 범위가 0-9임을 나타냅니다

{1,20}은 숫자 문자열의 합법적인 길이가 1~20, 즉 [0-9]의 문자 발생 횟수 범위가 1~20번임을 의미합니다.

/^ 및 $/는 문자열의 하위 문자열만 일치시키는 것이 아니라 전체 문자열이 정의된 규칙과 완전히 일치해야 함을 나타내기 위해 쌍으로 사용해야 합니다.

************************************************* ***** *********************************

//로그인 이름 확인: 5-20만 문자를 입력할 수 있습니다. 숫자, "_", "."를 포함할 수 있는 문자열로 시작합니다.

/^[a-zA-Z]{1}([a-zA-Z0-9]|[._] ){4,19 }$/

^[a-zA-Z]{1}는 첫 번째 문자가 문자여야 함을 의미합니다.

([a-zA-Z0-9]|[._]){4,19}는 길이가 4~9자리 문자열인 두 번째 숫자(이전 표현식 바로 뒤에 오기 때문에)부터 시작한다는 의미입니다. 대문자, 소문자, 숫자 또는 특수문자 집합[._]으로 구성되어야 합니다.

************************************************* ***** ************************************

//사용자 이름 확인: 만 1~30자까지 입력 가능

/^[a-zA-Z]{1,30}$/

********************로 시작하는 문자열 ****** ******************************************** ******* *****

//인증비밀번호 : 영문, 숫자, 밑줄 6~20자만 입력 가능

/^(w){6,20}$/

w: 문자, 숫자 또는 밑줄 문자를 일치시키는 데 사용됩니다.

**************************************** ******* *************************************

//확인 일반 전화 및 팩스 번호: "+" 또는 숫자로 시작할 수 있고 "-" 및 "

/^[+]{0,1}(d){1,3}[ ]?( [-]?((d)| [ ]){1,12})+$/

d: 0에서 9까지의 숫자를 일치시키는 데 사용됩니다.

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次

可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等

*******************************************************************************
//校验URL

/^http[s]{0,1}:\/\/.+$/ 或 /^http[s]{0,1}:\/\/.{1,n}$/ (表示url串的长度为length(“https://”) + n )
\ / :表示字符“/”。

. 表示所有字符的集

+ 等同于{1,},就是1到正无穷吧。

*******************************************************************************

//校验纯中文字符
/

^[\u4E00-\u9FA5]+$/

[\u4E00-\u9FA5] :估计是中文字符集的范围吧

以上表达式均在下面的javascript中测试通过


<html>
<script language="JavaScript">
<!--
function regx(r,s)
{
    if (r == null || r == ""){
       return false;
    }
    var patrn= new RegExp(r);
    if (patrn.exec(s))
       return true
    return false
}
 
-->
</script>
<body>
<form>
로그인 후 복사

规则表达式 :


 <input type="input" name="regxStr" value="" > (填写/ /之间的表达式)
<br>
로그인 후 복사

校验字符串 :

 <input type="input" name="str" value="" >
    <input type="button" name="match" value="匹配" onClick="alert(regx(regxStr.value,str.value));">
</form>
</body>
</html>
로그인 후 복사

4.正則表達式應用

"^\d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$" //음의 정수

"^-?d+$" //정수

"^d+(.d+) ?$"  //음수가 아닌 부동 소수점 수(양의 부동 소수점 수 + 0)

"^(([0-9]+.[0-9]*[1-9][0-9]* )|( [0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$ " // 양의 부동 소수점 수

"^((-d+(.d+)?)|(0+(.0+)?))$" //양수가 아닌 부동 소수점 수(음의 부동 소수점 수 + 0)

"^ (-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][ 0-9]*.[ 0-9]+)|([0-9]*[1-9][0-9]*)))$"  // 음의 부동 소수점 수

"^(- ?d+)(.d+)? $" // 부동 소수점 숫자

"^[A-Za-z]+$" // 26개의 영문자로 구성된 문자열

"^[A-Z]+$" // 영문 26자로 구성된 문자열 대문자로 구성된 문자열

"^[a-z]+$" //영문 26자로 구성된 문자열

"^[A-Za-z0-9]+$ " //구성됨 숫자와 영문 26자리로 구성된 문자열

"^w+$" // 숫자와 영문 26자리 또는 밑줄로 구성된 문자열

"^[w-]+(.[w- ]+ )*@[w-]+(.[w-]+)+$"    //이메일 주소

"^[a-zA-z]+://(w+(-w+)*)( .( w+(-w+)*))*(?S*)?$"  //url

/^(d{2}|d{4})-((0([1-9]{1 }) )|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 연월- 일

/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))| (3 [0|1]))/(d{2}|d{4})$/ // 월/일/년

"^([w-.]+)@(([[0- 9] {1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA- Z] {2,4}|[0-9]{1,3})(]?)$" //Emil

"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码

"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址

^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC地址的正则表达式

^[-+]?\d+(\.\d+)?$ //值类型正则表达式

5.javascript正则表达式检验

//校验是否全由数字组成


function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验用户姓名:只能输入1-30个以字母开头的字串

function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验密码:只能输入6-20个字母、数字、下划线

function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”

function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验手机号码:必须以数字开头,除数字外,可含有“-”

function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验邮政编码

function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
로그인 후 복사

//校验搜索关键字

function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\&#39;\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\&#39;\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
 
/*********************************************************************************
* FUNCTION: isBetween
* PARAMETERS: val AS any value
* lo AS Lower limit to check
* hi AS Higher limit to check
* CALLS: NOTHING
* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.
**********************************************************************************/
function isBetween (val, lo, hi) {
if ((val < lo) || (val > hi)) { return(false); }
else { return(true); }
}
/*********************************************************************************
* FUNCTION: isDate checks a valid date
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isDate (theStr) {
var the1st = theStr.indexOf(&#39;-&#39;);
var the2nd = theStr.lastIndexOf(&#39;-&#39;);
if (the1st == the2nd) { return(false); }
else {
var y = theStr.substring(0,the1st);
var m = theStr.substring(the1st+1,the2nd);
var d = theStr.substring(the2nd+1,theStr.length);
var maxDays = 31;
if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
return(false); }
else if (y.length < 4) { return(false); }
else if (!isBetween (m, 1, 12)) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0) maxDays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
else maxDays = 29;
}
if (isBetween(d, 1, maxDays) == false) { return(false); }
else { return(true); }
}
}
/*********************************************************************************
* FUNCTION: isEuDate checks a valid date in British format
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isEuDate (theStr) {
if (isBetween(theStr.length, 8, 10) == false) { return(false); }
else {
var the1st = theStr.indexOf(&#39;/&#39;);
var the2nd = theStr.lastIndexOf(&#39;/&#39;);
if (the1st == the2nd) { return(false); }
else {
var m = theStr.substring(the1st+1,the2nd);
var d = theStr.substring(0,the1st);
var y = theStr.substring(the2nd+1,theStr.length);
var maxDays = 31;
if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
return(false); }
else if (y.length < 4) { return(false); }
else if (isBetween (m, 1, 12) == false) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0) maxDays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
else maxDays = 29;
}
if (isBetween(d, 1, maxDays) == false) { return(false); }
else { return(true); }
}
}
}
/********************************************************************************
* FUNCTION: Compare Date! Which is the latest!
* PARAMETERS: lessDate,moreDate AS String
* CALLS: isDate,isBetween
* RETURNS: TRUE if lessDate<moreDate
*********************************************************************************/
function isComdate (lessDate , moreDate)
{
if (!isDate(lessDate)) { return(false);}
if (!isDate(moreDate)) { return(false);}
var less1st = lessDate.indexOf(&#39;-&#39;);
var less2nd = lessDate.lastIndexOf(&#39;-&#39;);
var more1st = moreDate.indexOf(&#39;-&#39;);
var more2nd = moreDate.lastIndexOf(&#39;-&#39;);
var lessy = lessDate.substring(0,less1st);
var lessm = lessDate.substring(less1st+1,less2nd);
var lessd = lessDate.substring(less2nd+1,lessDate.length);
var morey = moreDate.substring(0,more1st);
var morem = moreDate.substring(more1st+1,more2nd);
var mored = moreDate.substring(more2nd+1,moreDate.length);
var Date1 = new Date(lessy,lessm,lessd); 
var Date2 = new Date(morey,morem,mored); 
if (Date1>Date2) { return(false);}
return(true);
}
/*********************************************************************************
* FUNCTION isEmpty checks if the parameter is empty or null
* PARAMETER str AS String
**********************************************************************************/
function isEmpty (str) {
if ((str==null)||(str.length==0)) return true;
else return(false);
}
/*********************************************************************************
* FUNCTION: isInt
* PARAMETER: theStr AS String 
* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE
* CALLS: isDigit
**********************************************************************************/
function isInt (theStr) {
var flag = true;
if (isEmpty(theStr)) { flag=false; }
else
{ for (var i=0; i<theStr.length; i++) {
if (isDigit(theStr.substring(i,i+1)) == false) {
flag = false; break;
}
}
}
return(flag);
}
/*********************************************************************************
* FUNCTION: isReal
* PARAMETER: heStr AS String 
decLen AS Integer (how many digits after period)
* RETURNS: TRUE if theStr is a float, otherwise FALSE
* CALLS: isInt
**********************************************************************************/
function isReal (theStr, decLen) {
var dot1st = theStr.indexOf(&#39;.&#39;);
var dot2nd = theStr.lastIndexOf(&#39;.&#39;);
var OK = true;
if (isEmpty(theStr)) return false;
if (dot1st == -1) {
if (!isInt(theStr)) return(false);
else return(true);
}
else if (dot1st != dot2nd) return (false);
else if (dot1st==0) return (false);
else {
var intPart = theStr.substring(0, dot1st);
var decPart = theStr.substring(dot2nd+1);
if (decPart.length > decLen) return(false);
else if (!isInt(intPart) || !isInt(decPart)) return (false);
else if (isEmpty(decPart)) return (false);
else return(true);
}
}
/*********************************************************************************
* FUNCTION: isEmail
* PARAMETER: String (Email Address)
* RETURNS: TRUE if the String is a valid Email address
* FALSE if the passed string is not a valid Email Address
* EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@hotmail.com
* @ sign can appear only once in the email address.
*********************************************************************************/
function isEmail (theStr) {
var atIndex = theStr.indexOf(&#39;@&#39;);
var dotIndex = theStr.indexOf(&#39;.&#39;, atIndex);
var flag = true;
theSub = theStr.substring(0, dotIndex+1)
if ((atIndex < 1)||(atIndex != theStr.lastIndexOf(&#39;@&#39;))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)) 
{ return(false); }
else { return(true); }
}
/*********************************************************************************
* FUNCTION: newWindow
* PARAMETERS: doc -> Document to open in the new window
hite -> Height of the new window
wide -> Width of the new window
bars -> 1-Scroll bars = YES 0-Scroll Bars = NO
resize -> 1-Resizable = YES 0-Resizable = NO
* CALLS: NONE
* RETURNS: New window instance
**********************************************************************************/
function newWindow (doc, hite, wide, bars, resize) {
var winNew="_blank";
var opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";
opt+=("scrollbars="+bars+",");
opt+=("resizable="+resize+",");
opt+=("width="+wide+",");
opt+=("height="+hite);
winHandle=window.open(doc,winNew,opt);
return;
}
/*********************************************************************************
* FUNCTION: DecimalFormat
* PARAMETERS: paramValue -> Field value
* CALLS: NONE
* RETURNS: Formated string
**********************************************************************************/
function DecimalFormat (paramValue) {
var intPart = parseInt(paramValue);
var decPart =parseFloat(paramValue) - intPart;
str = "";
if ((decPart == 0) || (decPart == null)) str += (intPart + ".00");
else str += (intPart + decPart);
return (str);
}
로그인 후 복사

 "^\\d+$"  //非负整数(正整数 + 0) 

"^[0-9]*[1-9][0-9]*$"  //正整数 

"^((-\\d+)|(0+))$"  //非正整数(负整数 + 0) 

"^-[0-9]*[1-9][0-9]*$"  //负整数 

"^-?\d+$"    //정수

"^\d+(\.\d+)?$"   //음수가 아닌 부동 소수점 수(양의 부동 소수점 수 + 0)

"^( ([0 -9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0 -9] +)|([0-9]*[1-9][0-9]*))$" //양수 부동 소수점 수

"^((-\d+(\.\d+) ?)|( 0+(\.0+)?))$" //양수가 아닌 부동 소수점 수(음의 부동 소수점 수 + 0)

"^(-(([0-9]+\. [0-9]*[ 1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0 -9]*[1- 9][0-9]*)))$" //음수 부동 소수점

"^(-?\d+)(\.\d+)?$" //부동 소수점 number

"^[A-Za-z]+$" //영문 26자로 구성된 문자열

"^[A-Z]+$" //영문 대문자 26자로 구성된 문자열

" ^[a-z] +$" // 영문 소문자 26자로 구성된 문자열

"^[A-Za-z0-9]+$" // 숫자와 영문 26자로 구성된 문자열

" ^ \w+$" //숫자, 영문 26자 또는 밑줄로 구성된 문자열

"^[\w-]+(\.[\w-]+)*@[\w-]+( \.[ \w-]+)+$"    //이메일 주소

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-- \w+ )*))*(\?\S*)?$"  //url

위는 여러분과 공유하는 정규식의 기본 구문입니다. 모든 분들이 학습하는 데 도움이 되기를 바랍니다.

위 내용은 js 정규식의 기본 구문 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 정규식 유효성 검사: 숫자 형식 감지 PHP 정규식 유효성 검사: 숫자 형식 감지 Mar 21, 2024 am 09:45 AM

PHP 정규식 확인: 숫자 형식 감지 PHP 프로그램을 작성할 때 사용자가 입력한 데이터를 확인해야 하는 경우가 종종 있습니다. 일반적인 확인 중 하나는 데이터가 지정된 숫자 형식을 준수하는지 확인하는 것입니다. PHP에서는 정규식을 사용하여 이러한 종류의 유효성 검사를 수행할 수 있습니다. 이 기사에서는 PHP 정규식을 사용하여 숫자 형식을 확인하고 구체적인 코드 예제를 제공하는 방법을 소개합니다. 먼저 일반적인 숫자 형식 유효성 검사 요구 사항을 살펴보겠습니다. 정수: 0~9의 숫자만 포함하고 더하기 또는 빼기 기호로 시작할 수 있으며 소수점을 포함하지 않습니다. 부동 소수점

정규식을 사용하여 Golang에서 이메일 주소를 확인하는 방법은 무엇입니까? 정규식을 사용하여 Golang에서 이메일 주소를 확인하는 방법은 무엇입니까? May 31, 2024 pm 01:04 PM

정규식을 사용하여 Golang에서 이메일 주소를 확인하려면 다음 단계를 따르세요. regexp.MustCompile을 사용하여 유효한 이메일 주소 형식과 일치하는 정규식 패턴을 만듭니다. MatchString 함수를 사용하여 문자열이 패턴과 일치하는지 확인합니다. 이 패턴은 다음을 포함하여 대부분의 유효한 이메일 주소 형식을 다룹니다. 로컬 사용자 이름에는 문자, 숫자 및 특수 문자가 포함될 수 있습니다: !.#$%&'*+/=?^_{|}~-`도메인 이름에는 최소한 다음이 포함되어야 합니다. 문자 1개 뒤에 문자, 숫자 또는 하이픈이 옵니다. 최상위 도메인(TLD)의 길이는 63자를 초과할 수 없습니다.

Go에서 정규식을 사용하여 타임스탬프를 일치시키는 방법은 무엇입니까? Go에서 정규식을 사용하여 타임스탬프를 일치시키는 방법은 무엇입니까? Jun 02, 2024 am 09:00 AM

Go에서는 정규식을 사용하여 타임스탬프를 일치시킬 수 있습니다. ISO8601 타임스탬프를 일치시키는 데 사용되는 것과 같은 정규식 문자열을 컴파일합니다. ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . regexp.MatchString 함수를 사용하여 문자열이 정규식과 일치하는지 확인합니다.

간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 Jan 05, 2024 pm 06:08 PM

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

PHP 정규식: 퍼지 포함의 정확한 일치 및 제외 PHP 정규식: 퍼지 포함의 정확한 일치 및 제외 Feb 28, 2024 pm 01:03 PM

PHP 정규식: 정확한 일치 및 제외 퍼지 포함 정규식은 프로그래머가 텍스트를 처리할 때 효율적인 검색, 바꾸기 및 필터링을 수행하는 데 도움이 되는 강력한 텍스트 일치 도구입니다. PHP에서는 정규식도 문자열 처리 및 데이터 일치에 널리 사용됩니다. 이 기사에서는 PHP에서 정확한 일치를 수행하고 퍼지 포함 작업을 제외하는 방법에 중점을 두고 구체적인 코드 예제를 통해 설명합니다. 완전 일치 완전 일치는 변형이나 추가 단어가 아닌 정확한 조건을 충족하는 문자열만 일치하는 것을 의미합니다.

Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 무엇입니까? Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 무엇입니까? Jun 02, 2024 pm 07:31 PM

Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 다음과 같습니다. 최소 비밀번호 요구 사항(소문자, 대문자, 숫자, 특수 문자를 포함하여 8자 이상)을 충족하는 정규식 패턴을 정의합니다. regexp 패키지의 MustCompile 함수를 사용하여 정규식 패턴을 컴파일합니다. MatchString 메서드를 사용하여 입력 문자열이 정규식 패턴과 일치하는지 테스트합니다.

한자 필터링: PHP 정규식 연습 한자 필터링: PHP 정규식 연습 Mar 24, 2024 pm 04:48 PM

PHP는 널리 사용되는 프로그래밍 언어이며 특히 웹 개발 분야에서 널리 사용됩니다. 웹 개발 과정에서 우리는 사용자가 입력한 텍스트를 필터링하고 검증해야 하는 경우가 종종 있는데, 그 중 문자 필터링은 매우 중요한 작업입니다. 이 기사에서는 PHP에서 정규식을 사용하여 중국어 문자 필터링을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 우선 한자의 유니코드 범위는 u4e00부터 u9fa5까지, 즉 모든 한자가 이 범위에 속한다는 점을 명확히 할 필요가 있다.

JavaScript에서 HTTP 상태 코드를 쉽게 얻는 방법 JavaScript에서 HTTP 상태 코드를 쉽게 얻는 방법 Jan 05, 2024 pm 01:37 PM

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가

See all articles