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]*$/;
还有好多以后接着更新
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java正则表达式中如何匹配全角/半角空格: Java正则表达式是一种强大的工具,用于在字符串中进行模式匹配。要匹配全角/半角空格,我们可以使用Unicode字符范围来实现。 在Unicode字符范围中,全角空格的编码是U+3000,而半角空格的编码是U+0020。根据这些编码,我们可以使用Java正则表达式来匹配全角/半角空格。 假设我们有一个字符串str,并且我们想要匹配其中的全角/半角空格,我们可以使用以下正则表达式来实现: 全角空格:\u3000 半角空格:\u0020 例如,我们可以使用以下代码段来匹配字符串中的全角/半角空格并统计其个数: ```java import java.util.regex.*; public class Main { public static void main(String[] args) { String str = "你好, Java!"; //含有全角空格、半角空格 int count = 0; Pattern pattern = Pattern.compile("[\u3000\u0020]"); //匹配全角/半角空格 Matcher matcher = pattern.matcher(str); while (matcher.find()) { count++; } System.out.println("全角/半角空格个数:" + count); } } ``` 在上面的代码中,我们使用Pattern.compile("[\u3000\u0020]")来创建一个正则表达式,用于匹配全角/半角空格。然后,我们使用Matcher的find()方法在字符串中查找匹配项,并使用一个计数器记录匹配到的次数。最后,我们输出匹配到的全角/半角空格的个数。 以上就是使用Java正则表达式匹配全角/半角空格的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值