日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串中全角半角之间的转换

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串中全角半角之间的转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  前幾天,在做表單驗證的時候,發現用戶在輸入表單內容的時候,正常情況下都是半角輸入,但是也有可能是全角輸入,所以就牽扯到全角輸入內容的驗證,這里便提供全角和半角之間的轉換函數,與大家分享一下:

  1、js判斷文字是全角還是半角:

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

  2、全角與半角之間的相互轉換:

    首先,先得明確以下信息:

    a.全角空格為12288,半角空格為32;

    b.其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248;

  半角轉換為全角函數:

1 function ToDBC(txtstring) { 2 var tmp = ""; 3 for(var i=0;i<txtstring.length;i { 4 if(txtstring.charCodeAt(i)==32){ 5 tmp= tmp String.fromCharCode(12288); 6 } 7 if(txtstring.charCodeAt(i)<127){ 8 tmp=tmp String.fromCharCode(txtstring.charCodeAt(i) 65248); 9 } 10 } 11 return tmp; 12 } 

  上面用到了js的charCodeAt() 方法與fromCharCode() 方法。

  charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數。

  fromCharCode() 可接受一個指定的 Unicode 值,然后返回一個字符串。

  全角轉換為半角函數:

1 function ToCDB(str) { 2 var tmp = ""; 3 for(var i=0;i<str.length;i ){ 4 if (str.charCodeAt(i) == 12288){ 5 tmp = String.fromCharCode(str.charCodeAt(i)-12256); 6 continue; 7 } 8 if(str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375){ 9 tmp = String.fromCharCode(str.charCodeAt(i)-65248); 10 } 11 else{ 12 tmp = String.fromCharCode(str.charCodeAt(i)); 13 } 14 } 15 return tmp 16 }

  這便是這次項目的收獲,希望可以幫助到有類似需求的朋友。

?


更多專業前端知識,請上 【猿2048】www.mk2048.com

總結

以上是生活随笔為你收集整理的字符串中全角半角之间的转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。