php用正则判断是否为数字的方法
这篇文章主要介绍了php用正则判断是否为数字的方法,需要的朋友可以参考下
前两天朋友的一个网站上有人利用php注入提交flash游戏分数,后来找原因才发现是有一位参数没有做数字判断导致。
本来保存游戏分数是 game.php?ac=save&fgid=1这个形式来实现,在php网页里面fgid直接调用,没有做任何的过滤。很多人利用在fgid=1后面加一个字母(fgid=1a),来实现一些非法操作。
假如 gamlist table 里面有一个游戏 fgid为102
select gname from gamelist where fgid='102′;
select gname from gamelist where fgid='102a';
这样都可以成功的找到游戏名字gname,这就给很多人提供了可乘之机
建议大家对关键的参数必须做过滤。如数字正则过滤
代码如下:
if(preg_match("/^\d*$/",$fgid)) echo('是数字'); else echo('不是数字');
或者用函数
代码如下:
if(is_numeric($fgid)) echo('是数字'); else echo('不是数字');
网上用来判断id是否为数字的方法
代码如下:
$cid = empty($cid)? 1 : intval(preg_replace("/[^-\d]+[^\d]/",'', $cid));
这两种方法的区别是 is_numeric小数也会认为是数字,而前面正则会把小数点当作字符。
附一些常用的正则运算:
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$\x22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:–正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(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+)?

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



La veille est un mode d'écran de verrouillage qui s'active lorsque l'iPhone est branché sur le chargeur et orienté en orientation horizontale (ou paysage). Il se compose de trois écrans différents, dont l'un affiche l'heure en plein écran. Lisez la suite pour savoir comment changer le style de votre horloge. Le troisième écran de StandBy affiche les heures et les dates dans différents thèmes que vous pouvez faire glisser verticalement. Certains thèmes affichent également des informations supplémentaires, comme la température ou la prochaine alarme. Si vous maintenez une horloge enfoncée, vous pouvez basculer entre différents thèmes, notamment numérique, analogique, mondial, solaire et flottant. Float affiche l'heure dans de grands nombres de bulles dans des couleurs personnalisables, Solar a une police plus standard avec un motif d'éruption solaire dans différentes couleurs et World affiche le monde en mettant en surbrillance

La possibilité de générer des nombres aléatoires ou des chaînes alphanumériques s'avère utile dans de nombreuses situations. Vous pouvez l'utiliser pour faire apparaître des ennemis ou de la nourriture à différents endroits du jeu. Vous pouvez également l'utiliser pour suggérer des mots de passe aléatoires aux utilisateurs ou créer des noms de fichiers pour enregistrer des fichiers. J'ai écrit un tutoriel sur la façon de générer des chaînes alphanumériques aléatoires en PHP. J'ai dit au début de cet article que peu d'événements sont véritablement aléatoires, et il en va de même pour la génération de nombres aléatoires ou de chaînes. Dans ce tutoriel, je vais vous montrer comment générer une chaîne alphanumérique pseudo-aléatoire en JavaScript. Générer des nombres aléatoires en JavaScript Commençons par générer des nombres aléatoires. La première méthode qui me vient à l’esprit est Math.random(), qui renvoie un float

Les expressions régulières Golang utilisent le caractère barre verticale | pour faire correspondre plusieurs mots ou chaînes, séparant chaque option comme une expression OU logique. Par exemple : correspond à "fox" ou "dog" : fox|dog correspond à "quick", "brown" ou "lazy" : (quick|brown|lazy) correspond à "Go", "Python" ou "Java" : Go| Python |Java fait correspondre des mots ou des codes postaux à 4 chiffres : ([a-zA

Représenter des nombres en sortie est une tâche intéressante et importante lors de l’écriture d’un programme dans n’importe quel langage. Pour les types entiers (données de type court, long ou moyen), il est facile de représenter des nombres en sortie. Pour les nombres à virgule flottante (de type flottant ou double), nous devons parfois les arrondir à un nombre spécifique de décimales. Par exemple, si nous voulons représenter 52,24568 sous forme de trois décimales, un prétraitement est nécessaire. Dans cet article, nous présenterons plusieurs techniques pour représenter les nombres à virgule flottante avec un nombre spécifique de décimales par arrondi. Parmi les différentes approches, il est important d'utiliser une chaîne de format de type C, d'utiliser l'argument de précision et d'utiliser la fonction round() de la bibliothèque mathématique. Regardons-les un par un. avec

Nous connaissons tous des nombres qui ne sont le carré d’aucun nombre, comme 2, 3, 5, 7, 8, etc. Il existe N nombres non carrés et il est impossible de connaître tous les nombres. Ainsi, dans cet article, nous expliquerons tout sur les nombres sans carrés ou non carrés et les moyens de trouver le Nième nombre non carré en C++. Nième nombre non carré Si un nombre est le carré d'un entier, alors ce nombre est appelé un carré parfait. Quelques exemples de nombres carrés parfaits sont -1iscarréde14iscarréde29iscarréde316iscarréde425iscarréde5 Si un nombre n'est le carré d'aucun entier, alors le nombre est appelé non carré. Par exemple, les 15 premiers nombres non carrés sont -2,3,5,6,

Dans cet article, nous aborderons le problème de la recherche de nombres compris entre 1 et n (donnés) qui ne sont divisibles par aucun nombre compris entre 2 et 10. Comprenons cela avec quelques exemples - Entrée : num = 14 Sortie : 3 Explication : Il y a trois nombres, 1, 11 et 13, qui ne sont pas divisibles. Entrée : num = 21 Sortie : 5 Explication : Il y a cinq nombres 1, 11, 13, 17 et 19, qui ne sont pas divisibles. Méthode simple résolue si.

Dans le langage de programmation PHP, la fonction is_numeric() est une fonction très couramment utilisée, utilisée pour déterminer si une variable ou une valeur est un nombre. En programmation réelle, il est souvent nécessaire de vérifier la valeur saisie par l'utilisateur pour déterminer s'il s'agit d'un type numérique. Dans ce cas, la fonction is_numeric() peut être utilisée pour déterminer. 1. Introduction à la fonction is_numeric() La fonction is_numeric() est une fonction utilisée pour détecter si une variable ou une valeur est un nombre. Renvoie tru si la variable ou la valeur est un nombre

Nombres en Java Il est important de comprendre que la classe nombre n'est pas une classe tangible mais une classe abstraite. À l’intérieur, nous avons un ensemble de classes wrapper qui définissent ses fonctionnalités. Ces classes wrapper incluent Integer, Byte, Double, Short, Float et Long. Vous remarquerez peut-être qu'il s'agit des mêmes types de données de base dont nous avons parlé plus tôt, mais ils sont représentés comme des classes distinctes avec des noms en majuscules pour se conformer à la convention de dénomination des classes. Le compilateur convertit automatiquement les types de données primitifs en objets et vice versa selon les besoins d'une fonction ou d'une portée de programme particulière, et les classes numériques font partie du package java.lang. Ce processus est appelé autoboxing et unboxing. En saisissant la nature abstraite des classes numériques et de leurs classes wrapper correspondantes, nous pouvons
