Home > Article > Backend Development > PHP method to determine whether it is a number or character type
This article introduces how to determine whether it is a number or a character type in PHP programming. Friends in need can refer to it.
First, php regularizes to verify whether the string is a number. method one: Using regular expressions to verify whether it is a number in PHP is very simple, just master the basic regular expressions. For example: <?php /** * 正则验证数字类型 * edit by bbs.it-home.org */ if($str) { if(eregi("^[0-9]+$",$str)) { $str=(int)$str; } else { echo "获取到的数据不是有效的数字类型,操作将停止!"; exit(); } } else { echo "需要验证的数据为空,操作停止!"; exit(); } ?> Method 2: Key parameters must be filtered. For example, digital regular filtering: <?php if(preg_match(“/^\d*$/”,$fgid)) echo(‘是数字’); else echo(‘不是数字’); //注:$fgid为null 是为true 或用函数 if(is_numeric($fgid)) echo(‘是数字’); else echo(‘不是数字’); ?> The difference between the two methods: is_numeric will also treat decimals as numbers, while the previous regular expression will treat decimal points as characters. Commonly used regular operations: Verification number: ^[0-9]*$ Verify n-digit number: ^d{n}$ Verify at least n digits: ^d{n,}$ Verify m-n digit number: ^d{m,n}$ Verify numbers starting with zero and non-zero: ^(0|[1-9][0-9]*)$ Verify a positive real number with two decimal places: ^[0-9]+(.[0-9]{2})?$ Verify positive real numbers with 1-3 decimal places: ^[0-9]+(.[0-9]{1,3})?$ Verify non-zero positive integers: ^+?[1-9][0-9]*$ Verify non-zero negative integers: ^-[1-9][0-9]*$ Verify non-negative integers (positive integers + 0) ^d+$ Validate non-positive integers (negative integers + 0) ^((-d+)|(0+))$ Validate characters of length 3: ^.{3}$ Verify a string consisting of 26 English letters: ^[A-Za-z]+$ Verify a string consisting of 26 uppercase English letters: ^[A-Z]+$ Verify a string consisting of 26 lowercase English letters: ^[a-z]+$ Verify a string consisting of numbers and 26 English letters: ^[A-Za-z0-9]+$ Verify a string consisting of numbers, 26 English letters, or underscores: ^w+$ Verify user password: ^[a-zA-Z]w{5,17}$ The correct format is: starting with a letter, the length is between 6-18, and can only contain characters, numbers and underscores. Verify whether it contains characters such as ^%&‘,;=?$”: [^%&‘,;=?$x22]+ Verify Chinese characters: ^[u4e00-u9fa5],{0,}$ Verify email address: ^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$ Verify InternetURL: ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$; ^[a-zA-z]+:/ /(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ Verification phone number: ^((d{3,4})|d{3,4}-)?d{7,8}$: – The correct format is: XXXX-XXXXXXX, XXXX-XXXXXXXX, XXX-XXXXXXX, XXX -XXXXXXXX, XXXXXXX, XXXXXXXX. Verify ID number (15 or 18 digits): ^d{15}|d{}18$ Verify the 12 months of a year: ^(0?[1-9]|1[0-2])$ The correct format is: "01"-"09" and "1" "12" Verify the 31 days of a month: ^((0?[1-9])|((1|2)[0-9])|30|31)$ The correct format is: 01, 09 and 1, 31. Integer: ^-?d+$ Non-negative floating point number (positive floating point number + 0): ^d+(.d+)?$ Positive floating point number^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]* .[0-9]+)|([0-9]*[1-9][0-9]*))$ Non-positive floating point number (negative floating point number + 0) ^((-d+(.d+)?)|(0+(.0+)?))$ Negative floating point number ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9 ]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$ Floating point number ^(-?d+)(.d+)?In PHP programming, reasonable use of PHP regularization can sometimes get twice the result with half the effort, and the effect is not as good as usual. |