Maison  >  Article  >  développement back-end  >  Explication détaillée de la conversion de caractères d'expression régulière couramment utilisée en PHP

Explication détaillée de la conversion de caractères d'expression régulière couramment utilisée en PHP

伊谢尔伦
伊谢尔伦original
2017-06-29 11:03:041247parcourir

Pour certaines opérations régulières du front-end, vous pouvez le modifier pour devenir

de PHP pour faire correspondre les caractères à deux octets (y compris les caractères chinois) : [^x00-xff]

Application : CalculLa longueur de la chaîne (la longueur d'un caractère codé sur deux octets compte pour 2, et la longueur d'un caractère ASCII compte pour 1)

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

 expression régulière qui correspond aux lignes vides : n[s| ]*r

Expression régulière correspondant aux balises HTML : /db05f8e866f47612e82f5cb19e67888c.*9ebc63ab52cb6e4994c8f9089c021420 /

Expression régulière pour faire correspondre les espaces de début et de fin : (^s*)|(s*$)

Application : il n'existe pas de tel chose comme vbscriptjavascript >Une telle fonction de trim, nous pouvons utiliser cette expression pour l'implémenter, comme suit :

String.prototype.trim = function() {  
return this.replace(/(^\s*)|(\s*$)/g, "");  
}
Utilisez des expressions régulières pour décomposer et convertir les adresses IP :


Ce qui suit est l'utilisation d'expressions régulières. Un programme javascript qui correspond à une expression et convertit l'adresse IP en une valeur numérique correspondante :

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!")  
} 
}
Cependant, si le programme ci-dessus n'utilise pas d'expressions régulières, il peut être plus simple d'utiliser la fonction split pour le décomposer directement, le programme est le suivant :


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))
Expression régulière correspondant aux adresses e-mail. : w+([-+.]w+)*@w+([-.]w+)*.w+([-. ]w+)*


URL de correspondance d'expression régulière : http://([w- ]+.)+[w-]+(/[w- ./?%&=]*) ?

Un programme algorithmique qui utilise des expressions régulières pour supprimer les caractères répétés d'une chaîne :

var s="abacabefgeeii" 
var s1=s.replace(/(.).*/g,"")  
var re=new RegExp("["+s1+"]","g")  
var s2=s.replace(re,"")  
alert(s1+s2) //结果为:abcefgi
Un programme javascript qui utilise des expressions régulières pour extraire les noms de fichiers des adresses URL, comme suit Le résultat est la page 1


s="http://www.php.cn/page1.htm"  
s=s.replace(/(.*\/)([^\.]+).*/ig,"")  
alert(s)
Utilisez des expressions régulières pour limiter le contenu d'entrée dans la zone de texte dans le formulaire Web :


Utilisez des expressions régulières pour limiter uniquement la saisie en chinois :


onkeyup="value=value.replace(/[^u4E00-u9FA5 ]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text'). replace(/[^u4E00-u9FA5]/g,''))"
Utilisez des expressions régulières pour limiter la saisie de caractères pleine chasse :

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

Utilisez des expressions régulières pour limiter la saisie de nombres :

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

Utilisez des expressions régulières pour limiter la saisie aux chiffres et à l'anglais uniquement :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn