/**
* 过滤全角字符。
* 创建日期:
* 方法说明:把全角转成半角
*/
public static String getDBCCase(String str) {
String ret = "";
for (int i = 0; i < str.length(); i++) {
int j = str.charAt(i);
int temp = j - 65248;
if (temp > 0)
ret += (char) temp;
else
ret += (char) j;
} return ret;}
}
楼主反着用 就改成int temp = j + 65248;试试
* 过滤全角字符。
* 创建日期:
* 方法说明:把全角转成半角
*/
public static String getDBCCase(String str) {
String ret = "";
for (int i = 0; i < str.length(); i++) {
int j = str.charAt(i);
int temp = j - 65248;
if (temp > 0)
ret += (char) temp;
else
ret += (char) j;
} return ret;}
}
楼主反着用 就改成int temp = j + 65248;试试
public Class Test1{
public static String getDBCCase_Op(String str) {
String ret = "";
for (int i = 0; i < str.length(); i++) {
int j = str.charAt(i);
if(j<256 && j>-1){ int temp = j + 65248;
if (temp > 0)
ret += (char) temp;
else
ret += (char) j;
}else
ret += (char) j;
}
return ret;
}
public static void main(String[] args){
String str="abbbc你好aac";
System.out.println("before:"+str);
System.out.println(Test1.getDBCCase_Op(str));
}
}
如果是某些半角字符会影响WEB程序的话,只要替换成相应的Html码就OK了.
下面是我以前写的,可能会比较粗糙,你自己改改吧/*
*修改在Html页面中可能发现关于以下特殊标点和字符可能会错误& \ ' < >
*/
public static String encondHtmlChars(String s)
{
StringBuffer buf = new StringBuffer(s);
int i=0;
while (i<buf.length())
{
if (buf.charAt(i)=='&')
{
System.out.println("replace!");
buf.deleteCharAt(i);
buf.insert(i,"&");
i+=4;
}
else if (buf.charAt(i)=='"')
{
System.out.println("replace!");
buf.deleteCharAt(i);
buf.insert(i,""");
i+=5;
}
else if (buf.charAt(i)=='\'')
{
System.out.println("replace!");
buf.deleteCharAt(i);
buf.insert(i,"'");
i+=5;
}
else if (buf.charAt(i)=='<')
{
System.out.println("replace!");
buf.deleteCharAt(i);
buf.insert(i,"<");
i+=3;
}
else if (buf.charAt(i)=='>')
{
System.out.println("replace!");
buf.deleteCharAt(i);
buf.insert(i,">");
i+=3;
}
i++;
System.out.println(buf.toString());
}
return buf.toString();
}
var re = new RegExp("13([5-9]{1})([0-9]{8})","ig");//只能中国移动用户能够使用,范围13500000000-13999999999
var flag = true;
if(!re.test(mobile.mp_no.value)){
flag = false;
alert("很抱歉,你输入的手机号码错误或该号码不在我们的服务范围,请重新输入。");
mobile.mp_no.focus();
}
else{
var url = "http://sms.xxx.com/.....";
mywin = window.open(url,'sendjnh');
}
return (flag);
}
这样就可以了。
{
var tempStr = "0123456789" ;
var thisChar ;
for( var i=0 ; i < data.length ; i++ )
{
thisChar = data.substring( i, i+1 ) ;
if ( tempStr.indexOf(thisChar, 0) == -1 )
{
return( false ) ;
}
}
return( true ) ;
}
用来判断是否为数字的
function isQujiao(str)
{
for(i=0;i<str.length;i++) {
var code = escape(str.charAt(i));
if ((code.length >= 4) && (code < '%uFF60' || code > '%uFF9F'))
{
continue;
}
else
{
return false;
}
}
return true;
}
判断是否为全角的(不是全角自然是半角了)
// 引数为null时,抛出异常
if (str == null) {
throw(new IllegalArgumentException(ERROR_NULL_ARGUNMENT));
}
// 引数为空时,返回空字符串
if (str.equals("")) {
return (new String(str));
}
char[] chars = str.toCharArray( );
int length = chars.length;
StringBuffer sb = new StringBuffer( );
boolean breakFlag;
for (int i = 0; i < length; i++) {
breakFlag = false;
if (Character.isISOControl(chars[i])) {
sb.append(chars[i]);
} else if ('\u0021' <= chars[i] && chars[i] <= '\u007e') {
sb.append((char)(chars[i] + 0xfee0));
} else if ('\u0020' == chars[i]) {
sb.append('\u3000');
} else {
String value = String.valueOf(chars[i]);
for (int m = 0; m < HANKAKU_KATAKANA.length; m++) {
for (int n = 0; n < HANKAKU_KATAKANA[m].length; n++) {
if (value.equals(HANKAKU_KATAKANA[m][n])) {
if ((7 <= m && m <= 11) && i != length-1) {
if (chars[i+1] == '゛') {
sb.append(ZENKAKU_KATAKANA[m+5][n]);
i++;
} else if (chars[i+1] == '゜') {
sb.append(ZENKAKU_KATAKANA[m+7][n]);
i++;
} else {
sb.append(ZENKAKU_KATAKANA[m][n]);
}
} else {
sb.append(ZENKAKU_KATAKANA[m][n]);
}
breakFlag = true;
break;
}
}
}
if (!breakFlag) {
sb.append(chars[i]);
}
}
}
return sb.toString( );
}
public static String getDBCCase(String str) {
String ret = "";
for (int i = 0; i < str.length(); i++) {
int j = str.charAt(i);
int temp = j - 65248;
if (temp > 0)
ret += (char) temp;
else
ret += (char) j;
} return ret;}
}
我真的找了,而且上网上查了,java中的 ret += (char) temp; 我实在没有找到在jscript中和它相对应的。