Rumah php教程 PHP源码 php用正则判断是否为数字的方法

php用正则判断是否为数字的方法

May 25, 2016 pm 05:04 PM
nombor biasa

这篇文章主要介绍了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('不是数字');
Salin selepas log masuk


或者用函数

代码如下:

if(is_numeric($fgid)) echo('是数字');
else echo('不是数字');
Salin selepas log masuk

网上用来判断id是否为数字的方法

代码如下:

$cid = empty($cid)? 1 : intval(preg_replace("/[^-\d]+[^\d]/",'', $cid));
Salin selepas log masuk

这两种方法的区别是  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+)?

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

iOS 17: Cara menukar gaya jam iPhone dalam mod siap sedia iOS 17: Cara menukar gaya jam iPhone dalam mod siap sedia Sep 10, 2023 pm 09:21 PM

Siap sedia ialah mod skrin kunci yang diaktifkan apabila iPhone dipalamkan ke dalam pengecas dan berorientasikan dalam orientasi mendatar (atau landskap). Ia terdiri daripada tiga skrin berbeza, satu daripadanya dipaparkan masa skrin penuh. Teruskan membaca untuk mengetahui cara menukar gaya jam anda. Skrin ketiga StandBy memaparkan masa dan tarikh dalam pelbagai tema yang boleh anda leret secara menegak. Sesetengah tema juga memaparkan maklumat tambahan, seperti suhu atau penggera seterusnya. Jika anda menahan sebarang jam, anda boleh bertukar antara tema yang berbeza, termasuk Digital, Analog, Dunia, Suria dan Terapung. Terapung memaparkan masa dalam nombor gelembung besar dalam warna yang boleh disesuaikan, Solar mempunyai fon yang lebih standard dengan reka bentuk suar matahari dalam warna yang berbeza, dan Dunia memaparkan dunia dengan menyerlahkan

Hasilkan nombor rawak dan rentetan dalam JavaScript Hasilkan nombor rawak dan rentetan dalam JavaScript Sep 02, 2023 am 08:57 AM

Keupayaan untuk menjana nombor rawak atau rentetan alfanumerik berguna dalam banyak situasi. Anda boleh menggunakannya untuk melahirkan musuh atau makanan di lokasi yang berbeza dalam permainan. Anda juga boleh menggunakannya untuk mencadangkan kata laluan rawak kepada pengguna atau mencipta nama fail untuk menyimpan fail. Saya menulis tutorial tentang cara menjana rentetan alfanumerik rawak dalam PHP. Saya berkata pada permulaan siaran ini bahawa beberapa peristiwa benar-benar rawak, dan perkara yang sama berlaku untuk nombor rawak atau penjanaan rentetan. Dalam tutorial ini, saya akan menunjukkan kepada anda cara menjana rentetan alfanumerik pseudo-rawak dalam JavaScript. Menjana Nombor Rawak dalam JavaScript Mari mulakan dengan menjana nombor rawak. Kaedah pertama yang terlintas di fikiran ialah Math.random(), yang mengembalikan apungan

Bagaimana untuk memadankan berbilang perkataan atau rentetan menggunakan ungkapan biasa Golang? Bagaimana untuk memadankan berbilang perkataan atau rentetan menggunakan ungkapan biasa Golang? May 31, 2024 am 10:32 AM

Ungkapan biasa Golang menggunakan aksara paip | untuk memadankan berbilang perkataan atau rentetan, memisahkan setiap pilihan sebagai ungkapan OR logik. Contohnya: padanan "musang" atau "anjing": musang|padanan anjing "cepat", "coklat" atau "malas": (cepat|coklat|malas) sepadan dengan "Pergi", "Python" atau "Java": Pergi| Python |Java memadankan perkataan atau kod zip 4 digit: ([a-zA

Program C++ untuk membundarkan nombor kepada n tempat perpuluhan Program C++ untuk membundarkan nombor kepada n tempat perpuluhan Sep 12, 2023 pm 05:13 PM

Mewakili nombor sebagai output adalah tugas yang menarik dan penting apabila menulis program dalam mana-mana bahasa. Untuk jenis integer (data jenis pendek, panjang atau sederhana), mudah untuk mewakili nombor sebagai output. Untuk nombor titik terapung (jenis terapung atau berganda), kadangkala kita perlu membundarkannya kepada nombor tempat perpuluhan tertentu. Sebagai contoh, jika kita ingin mewakili 52.24568 sebagai tiga tempat perpuluhan, beberapa prapemprosesan diperlukan. Dalam artikel ini, kami akan memperkenalkan beberapa teknik untuk mewakili nombor titik terapung kepada nombor tempat perpuluhan tertentu dengan membundarkan. Antara pendekatan yang berbeza, adalah penting untuk menggunakan rentetan format seperti C, menggunakan hujah ketepatan dan menggunakan fungsi round() daripada perpustakaan matematik. Mari kita lihat mereka satu persatu. dengan

Cari nombor yang tidak boleh dibahagikan dengan mana-mana nombor dalam julat, menggunakan C++ Cari nombor yang tidak boleh dibahagikan dengan mana-mana nombor dalam julat, menggunakan C++ Sep 13, 2023 pm 09:21 PM

Dalam artikel ini, kita akan membincangkan masalah mencari nombor antara 1 dan n (diberi) yang tidak boleh dibahagikan dengan sebarang nombor antara 2 dan 10. Mari kita fahami ini dengan beberapa contoh - Input:num=14Output:3Penjelasan:Terdapat tiga nombor,1,11,dan13,yang tidak boleh dibahagikan.Input:num=21Output:5Penjelasan:Terdapat nombor1,11,13,17,dan19,yang tidak boleh dibahagi jika

Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth Aug 30, 2023 pm 10:41 PM

Kita semua tahu nombor yang bukan kuasa dua mana-mana nombor, seperti 2, 3, 5, 7, 8, dll. Terdapat N nombor bukan persegi, dan adalah mustahil untuk mengetahui setiap nombor. Jadi, dalam artikel ini, kami akan menerangkan segala-galanya tentang nombor tanpa kuasa dua atau bukan kuasa dua dan cara untuk mencari nombor bukan kuasa dua N dalam C++. Nombor bukan kuasa dua ken Jika nombor ialah kuasa dua integer, maka nombor itu dipanggil kuasa dua sempurna. Beberapa contoh nombor kuasa dua sempurna ialah -1isquareof14issquareof29issquareof316issquareof425issquareof5 Jika nombor bukan kuasa dua mana-mana integer, maka nombor itu dipanggil bukan kuasa dua. Sebagai contoh, 15 nombor bukan kuasa dua yang pertama ialah -2,3,5,6,

Nombor dalam Java (dengan 0 awalan dan rentetan) Nombor dalam Java (dengan 0 awalan dan rentetan) Aug 29, 2023 pm 01:45 PM

Nombor dalam Java Adalah penting untuk memahami bahawa kelas nombor bukanlah kelas nyata tetapi kelas abstrak. Di dalamnya, kami mempunyai satu set kelas pembalut yang mentakrifkan fungsinya. Kelas pembalut ini termasuk Integer, Byte, Double, Short, Float dan Long. Anda mungkin perasan bahawa ini adalah jenis data asas yang sama yang kita bincangkan sebelum ini, tetapi ia diwakili sebagai kelas berasingan dengan nama huruf besar untuk mematuhi konvensyen penamaan kelas. Pengkompil secara automatik menukar jenis data primitif kepada objek dan sebaliknya seperti yang diperlukan untuk fungsi atau skop program tertentu, dan kelas berangka adalah sebahagian daripada pakej java.lang. Proses ini dipanggil autoboxing dan unboxing. Dengan memahami sifat abstrak kelas angka dan kelas pembalut yang sepadan, kita boleh

Semak sama ada ia adalah nombor menggunakan fungsi is_numeric() dalam PHP Semak sama ada ia adalah nombor menggunakan fungsi is_numeric() dalam PHP Jun 27, 2023 pm 05:00 PM

Dalam bahasa pengaturcaraan PHP, fungsi is_numeric() ialah fungsi yang sangat biasa digunakan, digunakan untuk menentukan sama ada pembolehubah atau nilai ialah nombor. Dalam pengaturcaraan sebenar, selalunya perlu untuk mengesahkan nilai yang dimasukkan oleh pengguna untuk menentukan sama ada ia adalah jenis angka Dalam kes ini, fungsi is_numeric() boleh digunakan untuk menentukan. 1. Pengenalan kepada fungsi is_numeric() Fungsi is_numeric() ialah fungsi yang digunakan untuk mengesan sama ada pembolehubah atau nilai ialah nombor. Mengembalikan tru jika pembolehubah atau nilai ialah nombor

See all articles