欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中数字货币类型验证函数

程序员文章站 2022-05-15 12:02:07
...
function is_number( $str )  
{  
        if ( substr( $str, 0, 1 ) == "-" )  
        {  
                $str = substr( $str, 1 );  
        }  
        $length = strlen( $str );  
        $i = 0;  
        for ( ;    $i < $length;    ++$i    )  
        {  
                $ascii_value = ord( substr( $str, $i, 1 ) );  
                if ( 48 <= $ascii_value && $ascii_value <= 57 )  
                {  
                        continue;  
                }  
                return FALSE;  
        }  
        if ( $str != "0" )  
        {  
                $str = intval( $str );  
                if ( $str == 0 )  
                {  
                        return FALSE;  
                }  
        }  
        return TRUE;  
} 
 
function is_decimal( $str )  
{  
        if ( substr( $str, 0, 1 ) == "-" )  
        {  
                $str = substr( $str, 1 );  
        }  
        $length = strlen( $str );  
        $i = 0;  
        for ( ;    $i < $length;    ++$i    )  
        {  
                $ascii_value = ord( substr( $str, $i, 1 ) );  
                if ( 0 < $i && $ascii_value == 46 || 48 <= $ascii_value && $ascii_value <= 57 )  
                {  
                        continue;  
                }  
                return FALSE;  
        }  
        return TRUE;  
} 
 
function is_money( $str )  
{  
        $dot_pos = strpos( $str, "." );  
        if ( !$dot_pos )  
        {  
                return FALSE;  
        }  
        $str1 = substr( $str, 0, $dot_pos );  
        if ( 14 < strlen( $str1 ) )  
        {  
                return FALSE;  
        }  
        if ( !is_number( $str1 ) )  
        {  
                return FALSE;  
        }  
        $str2 = substr( $str, $dot_pos + 1, strlen( $str ) - $dot_pos );  
        if ( strlen( $str2 ) != 2 )  
        {  
                return FALSE;  
        }  
        if ( !is_number( $str2 ) )  
        {  
                return FALSE;  
        }  
        return TRUE;  
} 
 
function is_money_len( $str, $int_len, $dot_len )  
{  
        $dot_pos = strpos( $str, "." );  
        if ( !$dot_pos )  
        {  
                return FALSE;  
        }  
        $str1 = substr( $str, 0, $dot_pos );  
        if ( $int_len < strlen( $str1 ) )  
        {  
                return FALSE;  
        }  
        if ( !is_number( $str1 ) )  
        {  
                return FALSE;  
        }  
        $str2 = substr( $str, $dot_pos + 1, strlen( $str ) - $dot_pos );  
        if ( strlen( $str2 ) != $dot_len )  
        {  
                return FALSE;  
        }  
        if ( !is_number( $str2 ) )  
        {  
                return FALSE;  
        }  
        return TRUE;  
}
相关标签: php