[转载]javaScript中半角和全角的判断与相互转换

转载自:https://segmentfault.com/a/1190000009457684

js判断输入的文字是全角还是半角?

str="中文;;a"     
alert(str.match(/[\u0000-\u00ff]/g))     //半角   
alert(str.match(/[\u4e00-\u9fa5]/g))     //中文   
alert(str.match(/[\uff00-\uffff]/g))     //全角 

js对全角与半角的相互转化

全角转换为半角

function ToCDB(str) {
  var tmp = ''
      for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) == 12288) {
          tmp += String.fromCharCode(str.charCodeAt(i) - 12256)
          continue
        }
        if (str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375) {
          tmp += String.fromCharCode(str.charCodeAt(i) - 65248)
        } else {
          tmp += String.fromCharCode(str.charCodeAt(i))
        }
      }
      return tmp
} 
  

半角转化为全角

function ToDBC(txtstring) {
      // 半角转化为全角
      var tmp = ''
      for (var i = 0; i < txtstring.length; i++) {
        if (txtstring.charCodeAt(i) == 32) {
          tmp = tmp + String.fromCharCode(12288)
        }
        if (txtstring.charCodeAt(i) < 127) {
          tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248)
        }
      }
      return tmp
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值