Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der häufig verwendeten Zeichenkonvertierung für reguläre Ausdrücke in PHP

Detaillierte Erläuterung der häufig verwendeten Zeichenkonvertierung für reguläre Ausdrücke in PHP

伊谢尔伦
伊谢尔伦Original
2017-06-29 11:03:041217Durchsuche

Für einige reguläre Front-End-Vorgänge können Sie es so ändern, dass es zu PHP wird

, um mit Doppelbyte-Zeichen (einschließlich chinesischer Zeichen) übereinzustimmen: [^x00-xff]

Anwendung: BerechnungDie Länge der Zeichenfolge (die Länge eines Doppelbyte-Zeichens wird als 2 gezählt und die Länge eines ASCII-Zeichens wird als 1 gezählt)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

 regulärer Ausdruck, der mit leeren Zeilen übereinstimmt: n[s| ]*r

Regulärer Ausdruck, der mit HTML-Tags übereinstimmt: /db05f8e866f47612e82f5cb19e67888c.*9ebc63ab52cb6e4994c8f9089c021420 /

Regulärer Ausdruck zum Abgleichen führender und nachfolgender Leerzeichen: (^s*)|(s*$)

Anwendung: Es gibt keinen solchen Ding als vbscriptjavascript >Eine solche Trimmfunktion können wir mit diesem Ausdruck wie folgt implementieren:

String.prototype.trim = function() {  
return this.replace(/(^\s*)|(\s*$)/g, "");  
}
Verwenden Sie reguläre Ausdrücke, um IP-Adressen zerlegen und konvertieren:


Das Folgende ist die Verwendung regulärer Ausdrücke. Ein Javascript-Programm, das einen Ausdruck abgleicht und die IP-Adresse in einen entsprechenden numerischen Wert umwandelt:

function IP2V(ip) {  
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式  
if(re.test(ip)) {  
return RegExp.*Math.pow(255,3))+RegExp.*Math.pow(255,2))+RegExp.*255+RegExp.*1 
}  
else {  
throw new Error("Not a valid IP address!")  
} 
}
Wenn das obige Programm jedoch keine regulären Ausdrücke verwendet, ist es möglicherweise einfacher, die Split-Funktion zum direkten Zerlegen zu verwenden. Das Programm lautet wie folgt:


var ip="10.100.20.168"  
ip=ip.split(".")  
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
Regulärer Ausdruck, der mit E-Mail-Adressen übereinstimmt : w+([-+.]w+)*@w+([-.]w+)*.w+([-. ]w+)*


Regulärer Ausdruck passende URL: http://([w- ]+.)+[w-]+(/[w- ./?%&=]*) ?

Ein Algorithmusprogramm, das reguläre Ausdrücke verwendet, um wiederholte Zeichen aus einer Zeichenfolge zu entfernen:

var s="abacabefgeeii" 
var s1=s.replace(/(.).*/g,"")  
var re=new RegExp("["+s1+"]","g")  
var s2=s.replace(re,"")  
alert(s1+s2) //结果为:abcefgi
Ein Javascript-Programm, das reguläre Ausdrücke verwendet, um Dateinamen aus URL-Adressen zu extrahieren, wie folgt. Das Ergebnis ist Seite1


s="http://www.php.cn/page1.htm"  
s=s.replace(/(.*\/)([^\.]+).*/ig,"")  
alert(s)
Verwenden Sie reguläre Ausdrücke, um den Eingabeinhalt einzuschränken das Textfeld im Webformular:


Verwenden Sie reguläre Ausdrücke, um nur chinesische Eingaben zu beschränken:


onkeyup="value=value.replace(/[^u4E00-u9FA5 ]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text'). replace(/[^u4E00-u9FA5]/g,''))"
Verwenden Sie reguläre Ausdrücke, um die Eingabe nur auf Zeichen voller Breite zu beschränken:

onkeyup="value=value.replace(/ [^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData ('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

Verwenden Sie reguläre Ausdrücke, um die Eingabe auf Zahlen zu beschränken:

onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData( 'text',clipboardData.getData('text').replace(/[^d] /g,''))"

Verwenden Sie reguläre Ausdrücke, um die Eingabe auf Zahlen und nur Englisch zu beschränken:

onkeyup="value=value.replace(/[W]/g,'' ) "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/ g,''))

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der häufig verwendeten Zeichenkonvertierung für reguläre Ausdrücke in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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