检测字符串是否包含英文字母

应用String类的toCharArray()方法。首先通过方法将指定的字符串转换为字符数组,循环字符数组,根据字符的ASCII值判断是否包含英文字母
在这里插入图片描述在这里插入图片描述
创建JavaBean类,判断字符串是否包含英文字母

public class StringUtil2 {
		private String str;		//要判断的字符串
		private boolean hasEn;	//是否包含英文字符
		private String cnStr;	//去掉英文字母后的字符串
		public String getCnStr() {
			return cnStr;
		}
		public void setCnStr(String cnStr) {
			this.cnStr = cnStr;
		}
		public String getStr() {
			return str;
		}
		public void setStr(String str) {
			this.str = str;
		}
		public boolean isHasEn() {
			char cArr[] = str.toCharArray();//将字符串转换为字符数组
			StringBuffer sb =new StringBuffer("");
			StringBuffer sb2 =new StringBuffer("");
			for(int i=0;i<cArr.length;i++){
				//调用String类的hashCode()方法也能获得字符的ASCII码
				//int ascii = String.valueOf(cArr[i]).hashCode();
				int ascii = (int)cArr[i];//强制转换可以直接得到字符的ASCII码
				//英文字符的 ASCII码范围,大写字母A-Z的范围65-90,小写字母a-z的范围97-122
				if((ascii>=65&&ascii<=90)||(ascii>=97&&ascii<=122)){
					sb.append(cArr[i]);//将每个英文字母添加到StringBuffer对象中
				}
				else{
					sb2.append(cArr[i]);
				}
			}
			this.setCnStr(sb2.toString());
			if(!sb.toString().equals(""))//如果保存英文字母的字符串不为"",说明该字符串包含英文字母
				hasEn=true;
			else
				hasEn=false;
			return hasEn;
		}
		public void setHasEn(boolean hasEn) {
			this.hasEn = hasEn;
		}
		
	}

创建index.jsp页面,输入表单信息

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>判断字符串是否包含英文字母</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<style type="text/css">
		table{
			border: 1px solid;
			border-color: green;
			font-family:华文细黑;
			font-size: 13px;
			color:gray;
			
		}
		input{
			font-family:华文细黑;
			font-size: 13px;
			color:gray;
		}
	</style>
  </head>
  
  <body>
  
  	<form action="check2.jsp" method="post">
     <table>
     	<tr>
     		<td align="right">请输入字符串:</td>
     		<td><input type="text" name="str"  size="30"/></td>
     	</tr> 
     	<tr>
     		<td colspan="2" align="center"><input type="submit" value="检  查" /></td>
     	</tr>
     </table>	
     </form>
  </body>
</html>

创建check.jsp页面获得表单信息,通过StringUtil类中的方法进行判断

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
 %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>检查</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<style type="text/css">
		table{
			border: 1px solid;
			border-color: green;
			color: green;
			font-size: 13px;
			font-family: 华文细黑;
		}
	</style>
  </head>
  <body>
   	<%
   		String str = request.getParameter("str");
  	 %>
  	 <!-- 使用useBean动作标签导入JavaBean对象 -->
  	<jsp:useBean id="strBean" class="com.cn.zj.bean.StringUtil2"></jsp:useBean>
  	 <!-- 对StringUtil类的str属性赋值 -->
  	<jsp:setProperty property="str" name="strBean" value="<%=str %>"/>
    <table>
    	<tr>
			<td align="right">输入的字符串:</td>
			<td>
				<!-- 从StringUtil对象中获得str的属性值 -->	
				<jsp:getProperty property="str" name="strBean"/>
			</td>
		</tr>
		<tr>
			<td align="right">是否包含英文字母:</td>
			<td>	
				<!-- 从StringUtil对象中获得hasEn的属性值 -->	
				<jsp:getProperty property="hasEn" name="strBean"/>
			</td>		
		</tr>
		<tr>
			<td align="right">去掉英文字母后的字符串:</td>
			<td>	
				<!-- 从StringUtil对象中获得cnStr的属性值 -->	
				<jsp:getProperty property="cnStr" name="strBean"/>
			</td>
		</tr>
 	</table>	
  </body>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值