[轉]【经典问题】关于JS验证文本框输入只能输入半角,不让输入全角
2010-10-27 17:14
676 查看
轉自:http://hi.baidu.com/wujjtest/blog/item/91f5a57291c428158701b050.html
方案1: <input onkeyup="value=value.replace(/[\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"> 本人斗胆点评:不能转换诸如“、”等符号,函概不全。。。需要用心体会或改造。 方案2: 半角全角互转函数[JS版] [转] /* **************************** * 半角<=>全角 * * [NB联盟] * * Writer YuPing * **************************** *参数说明: * str:要转换的字符串 * flag:标记,为0时半转全,为非0时全转半 * 返回值类型:字符串 **************************** */ function DBC2SBC(str,flag) { var i; var result='; if (str.length<=0) {alert('字符串参数出错');return false;} for(i=0;i<str.length;i++) { str1=str.charCodeAt(i); if(str1<125&&!flag) result+=String.fromCharCode(str.charCodeAt(i)+65248); else result+=String.fromCharCode(str.charCodeAt(i)-65248); } return result; } //示例: alert(DBC2SBC("AAabc",0)); document.write(DBC2SBC("abcdefg",0)) <input type=text value="abcdefg" id=txt><input type=button value="变" onclick=txt.value=DBC2SBC(txt.value)> 本人斗胆点评:华而不实,哗众取宠。只能转换字母。滑稽、搞笑。 方案3: <script> var str="2003112345510DEFGHIghij9" var bstr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" var gstr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" for(i=0;i<str.length;i++) { bpos=bstr.indexOf(str.substr(i,1)) if(bpos!=-1) { bword=bstr.substr(bpos,1) gword=gstr.substr(bpos,1) str=str.replace(new RegExp(bword,"g"),gword) } } alert(str) </script> 本人斗胆点评:简单、效果明显。也很奏效。但需要手工添加种类,费时费力。 方案4:(终极解决方案) <script> //把你认为是全角的字符赋值给数组str1,就可以了 判断全角和半角了 var str1 = new Array("?") ; var str2 = "abc"; var re = /[^\x00-\x80]/; //或 /[^\0-\127]/ 十进制表示 // [^a-z]匹配不包含在范围内的 //alert(str1.length); for (var i=0;i<str1.length ;i++ ) { if( re.test( str1[i] ) ) { alert("找到全角字符,字符为:" + str1[i] ); } } </script> 上面的代码可以达到验证效果,不用列举。请校验。。。 |
相关文章推荐
- 关于JS验证文本框输入只能输入半角,不让输入全角
- 文本框限制输入(半角,全角互转),以及控制输入法问题,解决方法整合
- 用JS限制文本框只能输入数字时的正则表达式问题!
- js 验证文本框只能输入数字和小数点
- js正则验证文本框只能输入中文
- js验证文本框只能输入数字
- 文本框限制输入(半角,全角互转),以及控制输入法问题,解决方法整合
- 关于输入法中的全角、半角,js验证
- 关于JS校验金额的问题(只能输入数字和小数点)
- js验证如何限制文本框只能输入数字
- js控制文本框只能输入中文、英文、数字与指定特殊符号
- js控制文本框只能输入数字(C#...Web)
- js控制文本框只能输入数字 及 常用字符对应ASCII码值
- js验证只能输入汉字 只能输入数字 只能输入英文和数字 控制输入框只能输入...
- JS 控制文本框只能输入中文、英文、数字与指定特殊符号
- JS 控制文本框只能输入中文、英文、数字与指定特殊符号
- js控制文本框只能输入数字 及 常用字符对应ASCII码值
- JS 文本框校验--限制文本框只能输入数字,数字和字母等的正则表达式
- 关于限制input只能输入大于1的正整数的问题
- js的关于验证文本框中的文本是否都是数字