如何转换双字节数字字符串
用户用中文输入法有时会输入包含双字节数字字符的字符串,如“电话1385654”。在.net里怎样其中双字节数字转换为单字节数字? 问题点数:50、回复次数:4Top
1 楼web_gus(树欲静而风不止)回复于 2005-02-28 16:48:20 得分 0
upTop
2 楼smx717616(又笨又不努力)回复于 2005-02-28 17:06:46 得分 30
Dim altNumber() As Integer = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Dim dd() As Char
Dim i As Integer
dd = TextBox1.Text.ToCharArray
Dim str As String
For i = 0 To dd.Length - 1
If IsNumeric(dd(i)) Then
str = str & dd(i).ToString.Replace(dd(i), altNumber(CInt(dd(i).ToString)))
Else
str = str & dd(i)
End If
Next
TextBox2.Text = strTop
3 楼smx717616(又笨又不努力)回复于 2005-02-28 17:07:31 得分 0
测试通过Top
4 楼penning(飞鱼)回复于 2005-02-28 17:13:18 得分 20
JS中可以
function chkmaxsms(vobj1,vmax) {
var str=vobj1.value;
var strlen=str.length;
try{strlen+=str.match(/[^\x00-\xff]/g).length}catch(e){}
if(strlen>vmax) {
alert('字数超过限制');
eval(vobj1.value=substringB(str,0,vmax));
}
}
function substringB(str,stat,end) {
var i,ch,s = "";
for(i=0;i<stat;i++) {
ch = str.charAt(i);
if(ch.charCodeAt() > 127 || ch.charCodeAt < 0)
stat--,end--;
}
for(;i<end;i++) {
ch = str.charAt(i);
if(ch.charCodeAt() > 127 || ch.charCodeAt < 0)
end--;
s += ch;
}
return s;
}
引用
textarea onkeyup="javascript:chkmaxsms(this,'300')" onpaste="javascript:chkmaxsms(this,'300')"
... maxlength="300" runat="server"></textarea>Top




