首页  >  文章  >  后端开发  >  php中数字货币类型验证函数

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

高洛峰
高洛峰原创
2016-11-29 15:43:401246浏览

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;  
}


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn