js/html将全角字符与半角字符转换、小写转大写字符、获取输入框长度、基本正则表达式

①、补充:
全角占两个字节,半角占一个字节。 半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节

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]*$/;
还有好多以后接着更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值