Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesan jika rentetan hanya mengandungi nombor dalam php

Bagaimana untuk mengesan jika rentetan hanya mengandungi nombor dalam php

青灯夜游
青灯夜游asal
2022-08-12 19:52:122991semak imbas

Dua kaedah: 1. Gunakan is_numeric() untuk mengesan sama ada rentetan ialah rentetan angka, sintaksnya ialah "is_numeric (rentetan)", jika TRUE dikembalikan, ia hanya mengandungi nombor. 2. Gunakan preg_replace() dengan ungkapan biasa untuk menapis aksara, mengembalikan aksara angka dan membentuk rentetan angka Gunakan "===" untuk membandingkan sama ada rentetan angka dan rentetan asal adalah sama digit. Sintaks "preg_replace( "/[^0-9]/","",string)===string".

Bagaimana untuk mengesan jika rentetan hanya mengandungi nombor dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

pengesanan php rentetan Dua kaedah untuk sama ada ia mengandungi nombor sahaja:

Kaedah 1: Gunakan fungsi is_numeric() untuk mengesan jika rentetan

mengandungi hanya nombor, maka String ialah rentetan angka.

Fungsi is_numeric() boleh mengesan sama ada rentetan ialah rentetan angka.

is_numeric ($var)
  • $var: Pembolehubah untuk dikesan.

Mengembalikan TRUE jika pembolehubah yang ditentukan $var ialah nombor atau rentetan angka, jika tidak, mengembalikan FALSE

<?php
header("Content-type:text/html;charset=utf-8");
$str1="a678";
$str2="678";
$str3="3.14";
if (is_numeric($str1)){
    echo "$var_name1 是数字字符串<br><br>";
}
else{
    echo "$str1 不是数字字符串<br><br>" ;
}
if (is_numeric($str2)){
    echo "$str2 是数字字符串<br><br>";
}
else{
    echo "$str2 不是数字字符串<br><br>";
}
?>

Bagaimana untuk mengesan jika rentetan hanya mengandungi nombor dalam php

Kaedah 2: Gunakan fungsi preg_replace() dan operator "===" untuk mengesan

  • Gunakan fungsi preg_replace() dengan ungkapan biasa untuk menapis aksara dan kembalikan angka mengandungi digit

  • bermaksud memadankan aksara selain daripada nombor antara
dan menggantikan aksara ini dengan aksara kosong, iaitu padamkan aksara ini. Kemudian hanya aksara angka yang tinggal.
<?php
header("Content-type:text/html;charset=utf-8");
function f($str){
	$result = preg_replace("/[^0-9]/", "", $str);
	if($result===$str){
    	echo "$str 字符串中只含数字<br><br>";
	}
	else{
	    echo "$str 字符串中还有其他字符<br><br>" ;
	}
}

f("a678");
f("678");
?>

preg_replace("/[^0-9]/", "", $str)0~9

Penjelasan: Fungsi preg_replace menjalankan carian dan penggantian ungkapan biasa Ia adalah fungsi pemprosesan penggantian rentetan yang berkuasa ialah

Bagaimana untuk mengesan jika rentetan hanya mengandungi nombor dalam php

Cari bahagian subjek yang sepadan dengan corak dan gantikannya dengan penggantian.

Penerangan parameter:
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

$pattern: Corak yang hendak dicari, yang boleh menjadi rentetan atau tatasusunan rentetan.

  • $replacement: Rentetan atau tatasusunan rentetan yang digunakan untuk penggantian.

  • $subject: Rentetan sasaran atau tatasusunan rentetan untuk dicari dan diganti.

  • $limit: Pilihan, bilangan maksimum penggantian untuk setiap rentetan subjek bagi setiap corak. Lalai ialah -1 (tiada had).

  • $count: Pilihan, bilangan kali penggantian dilakukan.

  • Pembelajaran yang disyorkan: "

    Tutorial Video PHP
  • "

Atas ialah kandungan terperinci Bagaimana untuk mengesan jika rentetan hanya mengandungi nombor dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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