Heim > Web-Frontend > js-Tutorial > Hauptteil

Schritte zur Implementierung regulärer Ausdrücke

php中世界最好的语言
Freigeben: 2017-12-02 11:08:06
Original
1850 Leute haben es durchsucht

Dieses Mal werde ich Ihnen die Syntax von regulären Ausdrücken vorstellen. Reguläre Ausdrücke sind ein Textmuster, das gewöhnliche Zeichen und Sonderzeichen enthält Text. Um eine oder mehrere Zeichenfolgen abzugleichen.

1. Grundlegende reguläre Ausdruckssyntax

Zwei Sonderzeichen „^“ und „$“. Ihre Funktion besteht darin, den Anfang bzw. das Ende einer Zeichenfolge anzuzeigen. Beispiele sind wie folgt:

"^The": repräsentiert alle Strings, die mit "The" beginnen ("There", "The cat" usw.);
"of despair$": repräsentiert alle Strings beginnend mit „of“ Eine Zeichenfolge, die mit „Verzweiflung“ endet;
„^abc$“: zeigt eine Zeichenfolge an, die mit „abc“ beginnt und endet – haha, nur „abc“ selbst;
„notice“: zeigt eine beliebige an Zeichenfolge, die die Zeichenfolge „Notice“ enthält.

Wenn Sie wie im letzten Beispiel keine zwei Sonderzeichen verwenden, geben Sie an, dass die gesuchte Zeichenfolge ein Teil der gesuchten Zeichenfolge ist – Sie
positionieren sie nicht oben eines bestimmten.

Andere Symbole sind „*“, „+“ und „?“, die angeben, wie oft ein Zeichen oder eine Zeichenfolge wiederholt vorkommt. Sie bedeuten jeweils „keine oder
mehr“, „einmal oder mehr“ und „keine oder einmal“. Hier ein paar Beispiele:

"ab*": Zeigt an, dass eine Zeichenfolge ein a gefolgt von null oder mehreren b enthält. ("a", "ab", "abbb",...);
"ab+": zeigt an, dass auf eine Zeichenfolge mindestens ein b oder mehr folgt a Die Zeichenfolge enthält ein a, gefolgt von einer Null oder einem b.
"a?b+$": bedeutet, dass am Ende der Zeichenfolge null oder ein a gefolgt von einem oder mehreren b steht.

Sie können auch Bereiche in geschweiften Klammern verwenden, um den Wiederholungsbereich anzugeben.

"ab{2}": zeigt an, dass auf eine Zeichenfolge ein a gefolgt von 2 b ("abb") folgt;

"ab{2,}": zeigt an, dass auf eine Zeichenfolge ein a gefolgt von folgt mindestens 2 b;
"ab{3,5}": Zeigt an, dass eine Zeichenfolge ein a gefolgt von 3 bis 5 b hat.

Bitte beachten Sie, dass Sie die untere Grenze des Bereichs angeben müssen (z. B.: „{0,2}“ statt „{,2}“). Möglicherweise ist Ihnen auch aufgefallen, dass „*“, „+“ und „

“ „{0,}“, „{1,}“ und „{0,1}“ entsprechen.
Es gibt auch eine „¦“, was „oder“-Operation bedeutet:

„hi¦hello“: bedeutet, dass in einer Zeichenfolge „hi“ oder „hello“ steht; ¦cd )ef“: stellt „bef“ oder „cdef“ dar;

“(a¦b)*c“: stellt eine Zeichenfolge aus gemischten „a“ und „b“ dar, gefolgt von einem „c“;

'.' kann jedes Zeichen ersetzen:

"a.[0-9]": Gibt an, dass eine Zeichenfolge ein "a" gefolgt von einem beliebigen Zeichen und einer Zahl enthält; . {3}$": Stellt eine Zeichenfolge mit drei beliebigen Zeichen dar (Länge beträgt 3 Zeichen);

Eckige Klammern geben an, dass bestimmte Zeichen an einer bestimmten Position in einer Zeichenfolge erscheinen dürfen:

Sie können auch „^“ in eckigen Klammern verwenden, um anzugeben, dass unerwünschte Zeichen „^“ das erste in den eckigen Klammern sein sollten. (Beispiel: „%[^a-zA-Z]%“ bedeutet

und gibt an, dass zwischen den zwei Prozentzeichen keine Buchstaben stehen dürfen.)
"[ab]":表示一个字符串有一个"a"或"b"(相当于"a¦b");"[a-d]":表示一个字符串包含小写的'a'到'd'中的一个(相当于"a¦b¦c¦d"或者"[abcd]");"^[a-zA-Z]":表示一个以字母开头的字符串;"[0-9]%":表示一个百分号前有一位的数字;",[a-zA-Z0-9]$":表示一个字符串以一个逗号后面跟着一个字母或数字结束。
Nach dem Login kopieren


Um es wörtlich auszudrücken, müssen Sie das Escape-Zeichen „“ vor diesen Zeichen „^.$()¦*+?{“ hinzufügen.

Bitte beachten Sie, dass innerhalb der eckigen Klammern keine Escape-Zeichen erforderlich sind.

2. Eingabe des Kontrollfelds für reguläre Ausdrücke

Zeichentyp

3. Beliebte Erklärung von Anwendungsbeispielen für reguläre Ausdrücke

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">
Nach dem Login kopieren

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

** **** ********************************************** ***** *************************
//校验是否全由数字组成
/^[0-9]{1,20}$/
^ 表示打头的字符要匹配紧跟^后面的规则
$ 表示打头的字符要匹配紧靠$前面的规则
[ ] 中的内容是可选字符集
[0-9] 表示要求字符范围在0-9之间
{1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。/^ 和 $/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。
Nach dem Login kopieren
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
^[a-zA-Z]{1} 表示第一个字符要求是字母。
([a-zA-Z0-9]|[._]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到9位的字符串,它要求是由大小写字母、数字或者特殊字符集[._]组成。
Nach dem Login kopieren


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

//校验用户姓名:只能输入1-30个以字母开头的字串
/^[a-zA-Z]{1,30}$/
Nach dem Login kopieren

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

//校验密码:只能输入6-20个字母、数字、下划线
/^(\w){6,20}$/
\w:用于匹配字母,数字或下划线字符
Nach dem Login kopieren

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

//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”
/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/
\d:用于匹配从0到9的数字;
“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次
可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等
Nach dem Login kopieren

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

//校验URL
/^http[s]{0,1}:\/\/.+$/ 或 /^http[s]{0,1}:\/\/.{1,n}$/ (表示url串的长度为length(“https://”) + n )
\ / :表示字符“/”。
. 表示所有字符的集
+ 等同于{1,},就是1到正无穷吧。
Nach dem Login kopieren

 

//校验纯中文字符
/^[\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>
Nach dem Login kopieren

Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie hier Weitere verwandte Artikel auf der chinesischen PHP-Website!

Verwandte Lektüre:

Implementierungsschritte für den Betrieb von HTTP-Cookies mit Js


Über lokale Webspeicherung Detaillierte Einführung


So legen Sie die Textschriftfarbe von CSS fest

Das obige ist der detaillierte Inhalt vonSchritte zur Implementierung regulärer Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!