自己规定特殊符号的正则表达式

本文介绍如何使用正则表达式在文本框中限制特定特殊字符的输入,如'和%,并提供了一个具体的实现案例及测试代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做项目时候,经常会用到正则表达式来限制文本框输入特殊符号、英文等等各种要求。
这里介绍一下怎么自己写正则表达式(限制特殊符号的正则表达式)
比如遇到一个需求,文本框中不能输入’和%这两个特殊的字符.
写法如下

//这里\起到隔断的作用,在这之间放入你所需要限制的特殊字符
//\’\限制’的输入   
/^[^\’\%]*$/

如果需要限制更多的特殊字符,只要用 \ 继续拼接救ok了
测试代码 我用的是hbuilder

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="text" name="G104_txt_Receipt_Memo" id="G104_txt_Receipt_Memo"  onchange="check()"/>
	</body>
	<script type="text/javascript">
		function check(){
		//输入限制的特殊符号,就会弹出错误
			var re = /^[^\’\%]*$/;      
	    	  if (!re.test(document.getElementById("G104_txt_Receipt_Memo").value)) {     
	    		  alert("错误")
	    	 }
		}
	</script>
</html>

输入?号没有弹出信息
在这里插入图片描述
输入%则弹出错误信息
在这里插入图片描述

### Java 正则表达式匹配账号中的特殊字符 为了验证Java中账号是否包含特殊字符,可以构建特定的正则表达式来实现这一功能。通常情况下,如果希望检测字符串内是否存在除字母、数字之外的其他字符,则可以通过定义一个排除这些常规字符集外的所有剩余字符作为目标来进行匹配。 对于账号而言,假设允许使用大小字母(A-Z,a-z)、阿拉伯数字(0-9),而任何超出此范围的都视为特殊字符。下面给出了一种可能的方式去编这样的正则表达式: ```java public class AccountValidator { private static final String SPECIAL_CHARACTERS_REGEX = "[^a-zA-Z0-9]"; /** * 判断给定账户名是否含有特殊字符. */ public static boolean containsSpecialCharacters(String accountName){ return accountName.matches(".*" + SPECIAL_CHARACTERS_REGEX + ".*"); } } ``` 上述代码片段通过`SPECIAL_CHARACTERS_REGEX`变量存储了一个用于识别非字母和非数字字符的模式[^4]。这里采用的是否定式的字符集合(`[^...]`),其中列举了想要的内容——即除了英文字母以及十进制数位以外的一切符号都会被视作“特殊”。当调用`containsSpecialCharacters()`函数并传入待测用户名时,它会返回布尔值指示该名称里是否有符合规定的成分存在。 值得注意的是,在实际应用过程中还需要考虑更多细节因素,比如长度限制或是某些具体应用场景下的额外规定等。此外,考虑到同国家和地区可能存在差异化的编码标准,因此在处理国际化项目时应当更加谨慎对待字符分类问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微微笑再加油

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值