正则表达式限制只能输入中文英文数字

本文介绍了一种使用Java正则表达式的方法,用于限制输入框仅能输入中文、英文及数字,有效防止特殊字符和表情符的输入,适用于移动端和后台开发。

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

无论移动端还是后台都会遇到输入框限制输入特殊字符或者表情符;下面代码通过正则控制只能输入中文、英文、数字

package pattern;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "123sdjfs下属的积分撒分c";
		String regEx="^[A-z0-9\\u4e00-\\u9fa5]*$";
		Pattern p=Pattern.compile(regEx);
		Matcher m=p.matcher(str);
		if(!m.matches()) {
			System.out.println("含有特殊字符");
		}else {
			System.out.println("没有特殊字符");
		}
	}
}

### 实现仅允许输入数字正则表达式 为了确保输入的内容严格为数字,可以采用不同的正则表达式模式来满足特定需求。以下是几种常见情况下的解决方案: #### 整数验证 对于整数类型的数值,可以根据是否包含负号以及是否有零开头的要求选择合适的正则表达式。 - **所有整数**:`/^(-)?[0-9]*$/`[^2] 这个规则适用于任何可能存在的整数形式,包括正数、负数零。 ```javascript // JavaScript 中使用该正则表达式的例子 const integerRegex = /^(-)?[0-9]*$/; console.log(integerRegex.test("-123")); // true console.log(integerRegex.test("456")); // true ``` #### 小数验证 当涉及到带有小数点的情况时,则需进一步区分是接受正数还是负数的小数,并决定是否允许无小数部分的形式存在。 - **所有数字(含小数)**:`/^(-)?[0-9]+([.][0-9]{1,})?$/` 支持任何形式的有效浮点数或整数,无论是正值还是负值。 ```javascript // 测试各种合法与非法的小数字符串 const decimalRegex = /^(-)?[0-9]+([.][0-9]{1,})?$/; console.log(decimalRegex.test("123.45")); // true console.log(decimalRegex.test("-789.012")); // true console.log(decimalRegex.test(".3")); // false (缺少前面的部分) ``` #### 综合应用 如果希望创建一个更加严格的条件——即只接收非负实数(既可能是整数也可能是带有一位以上精度的小数),那么应该选用下面这个版本: - ` /^[0-9]+([.][0-9]{1,})?$ /` 此模式不允许以`.`作为起始字符,也不支持全由`.`组成的串;它还排除了所有的负数可能性。 ```javascript // 应用于表单验证中的实例 function validateNumber(inputValue){ let regex = /^[0-9]+([.][0-9]{1,})?$/; return regex.test(inputValue); } document.getElementById('numberField').addEventListener('input', function(event){ event.target.setCustomValidity(validateNumber(event.target.value) ? '' : '请输入有效的数字'); }); ``` 通过上述代码片段可以看出,在实际项目里可以通过监听用户的输入事件并即时反馈给用户其输入是否符合预期格式的方式提高用户体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值