php代码把全角数字转为半角数字

//把全角数字转为半角数字
function GetAlabNum($fnum){
    $nums = array('0','1','2','3','4','5','6','7','8','9','.','-','+',':');
    $fnums = array('0','1',  '2','3',  '4','5',  '6', '7','8',  '9','.',  '-', '+',':');
    $fnlen = count($fnums);
    for($i=0;$i<$fnlen;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum);
    $slen = strlen($fnum);
    $oknum = '';
    for($i=0;$i<$slen;$i++){
        if(ord($fnum[$i]) > 0x80) $i++;
        else $oknum .= $fnum[$i];
    }
    if($oknum=="") $oknum=0;
    return $oknum;
}

(0)

相关推荐

  • php全角字符转换为半角函数

    之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧 复制代码 代码如下: /** * 全角字符转换为半角 * * @param string $str * @return string */ public function Sbc2Dbc($str) { $arr = array( '0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4',

  • PHP 全角转半角实现代码

    复制代码 代码如下: /** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * @access public * @param string $str 待转换字串 * @return string $str 处理后字串 */ function make_semiangle($str) { $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4','5'

  • PHP实现全角字符转为半角方法汇总

    最简单的方法 <?php $str = "0123ABCDFWS\",.?<>{}[]*&^%#@!-()+-|::"; echo "$str"; echo "<br />"; $str = preg_replace('/\xa3([\xa1-\xfe])/e', 'chr(ord(\1)-0x80)', $str); echo $str; 这是网上看来的代码,所有的中文标点的第二个字节减去0X80(即128

  • php代码把全角数字转为半角数字

    //把全角数字转为半角数字 function GetAlabNum($fnum){     $nums = array('0','1','2','3','4','5','6','7','8','9','.','-','+',':');     $fnums = array('0','1',  '2','3',  '4','5',  '6', '7','8',  '9','.',  '-', '+',':');     $fnlen = count($fnums);     for($i=0;$i

  • Oracle全角数字转换半角数字

    数据库表 test 字段 id name age 全角数字:1234 半角数字:1234 length和lengthb的区别: length(1234) 4 lengthb(1234) 8 to_single_byte函数用法: to_single_byte(1234) 1234 查找所有全角的数字: select age from test where lengthB(age) >4 替换全角的为半角的: update test t1 set t1.age = (select to_singl

  • MySQL存储全角字符和半角字符的区别

    很不巧公司内测IM的时候又遇到MYSQL_DATA_TRUNCATED错误,日志记录还是在mysql_stmt_fetch调用的时候出现的.鉴于之前的经验,应该是给定的结果集绑定区域长度不够造成的,反复检查了好多遍没发现问题.我在代码中都是对应的关系,比如char(20),我代码中就会定义char buffer[20]数组来存储.看起来如此的正确完美.后面没办法只好打印每一行的数据,找到报错的那一行记录,发现字体和别的不一样.比如: 123456789(半角) 123456789(全角) 这并不

  • SqlServer数据库全角转换成半角

    复制代码 代码如下: CREATE   FUNCTION   f_Convert( @str   NVARCHAR(4000),   --要转换的字符串 @flag   bit                             --转换标志,0转换成半角,1转换成全角 )RETURNS   nvarchar(4000) AS BEGIN DECLARE   @pat   nvarchar(8),@step   int,@i   int,@spc   int IF   @flag=0 SEL

  • java 全角半角字符转换的方法实例

    如果搞明白了Java中全角字符和半角字符之间的关系那他们之间的转换根本就不是个事. 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下: public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + "    " + (c

  • java全角、半角字符的关系以及转换详解

    如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下: public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + " 

  • JavaScript 全角转半角部分

    复制代码 代码如下: <script language=javascript> //全角空格为12288,半角空格为32 //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //document.write((65281).toString(16)+"----"+(65374).toString(16)+"----"+(12288).toString(16)); String.prototype.dbc2sbc

  • 半角全角相互转换的js函数

    复制代码 代码如下: ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //半角转换为全角函数 function ToDBC(txtstring) { var tmp = ""; for(var i=0;i<txtstring.length;i++) { if(txtstring.charCodeAt(i)==32) { tmp= tmp+ String.fromCharCode(1228

随机推荐