①、补充:
全角占两个字节,半角占一个字节。 半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节
1、将字符字符转成半角字符
//原生JavaScript全角转换为半角函数
function ToCDB(str){
var result = '';
for(var i=0; i < str.length; i++){
code = str.charCodeAt(i);
if(code >= 65281 && code <= 65374){
result += String.fromCharCode(str.charCodeAt(i) - 65248);
}else if (code == 12288){
result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
}else{
result += str.charAt(i);
}
}
return result;
}
2、将字符转成全角字符
/**
* 转全角字符
*/
function toDBC(str){
var result = "";
var len = str.length;
for(var i=0;i<len;i++)
{
var cCode = str.charCodeAt(i);
//全角与半角相差(除空格外):65248(十进制)
cCode = (cCode>=0x0021 && cCode<=0x007E)?(cCode + 65248) : cCode;
//处理空格
cCode = (cCode==0x0020)?0x03000:cCode;
result += String.fromCharCode(cCode);
}
return result;
}
3、获取输入框的长度
//获得输入框中字符长度
function getLength(val) {
var str = new String(val);
var bytesCount = 0;
for (var i = 0 ,n = str.length; i < n; i++) {
var c = str.charCodeAt(i);
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
bytesCount += 1;
} else {
bytesCount += 2;
}
}
return bytesCount;
}
4、将小写自动转成大写,并调用上面的方法将字符转成半角字符
placeholder :input框中默认显示的数据
onFocus:事件在回去焦点的时候发生,也就是鼠标点击之后出发函数
onkeyup:和上一个相反,失去焦点的时候发生。
autocomplete="off" 关闭之前input框中填写的记忆。
<input id="idNum" name="idNum" class="form-control" type="text" value="" onFocus="popup3()" onBlur="select3()"
placeholder="---请准确填写证件号码---" autocomplete="off" onkeyup="upperCase(this.id)">
//调用toUpperCase() 将小写自动转成大写
function upperCase(id) {
var value =document.getElementById(id).value;
document.getElementById(id).value= value.toUpperCase();
value =document.getElementById(id).value;
document.getElementById(id).value=ToCDB(value);
}
5、判断是否有全角并弹框
extPassNo=$.trim($('#extPassNo').val()); //$.trim() //清除空格
//判断是否输入有全角
for (var i = extPassNo.length - 1; i >= 0; i--) {
var unicode = extPassNo.charCodeAt(i);
if ($idType == "7" && unicode > 65280 && unicode < 65375) {
msg = msg + "\"输入全角字符'" + extPassNo[i] + "',港澳通行证件号码不能输入'全角字符'!\"!" + '\n';
alert(msg);
// return false;
}
}
6、大概的总结一些项目中使用的正则表达式
//判断是否是 0- 9
var par = /^[0-9]*$/;
//港澳通行证的效验规则
var regularExt= /^[HMhm]\d{8}$/;
var reg1 = /^[HMhm]*$/;
//邮箱
var emailReg= /^[\da-z]+([\-\.\_]?[\da-z]+)*@[\da-z]+([\-\.]?[\da-z]+)*(\.[a-z]{2,})+$/i;
var emailReg= /^[^\_][\w\-\.]+@([\w]+\.)+[\w]{2,3}[^\_]$/;
//手机号
var emailReg= /^\d{11}$/;
//字母
var reg = /^[A-Za-z]*$/;
还有好多以后接着更新