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
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) //结果为:abcefgiUn 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!