JavaScript 限制 Input 输入内容的正则表达式与实现方案

作者:异步漫步时间:2026-10-28 12:33:04浏览:371

本文汇总了JavaScript中限制Input输入内容的多种正则表达式及实现方法。涵盖仅允许数字、英文字母、汉字及特定符号的输入限制,提供通过onkeyup事件结合正则替换的通用方案,以及针对防粘贴和特定字符集(如@=#)的具体代码示例,帮助开发者快速实现表单输入校验。

限制输入数字与特定字符的实现

实现仅允许输入数字的功能。


<input name="username" type="text"
onkeyup="value=this.value.replace(/\D+/g,'')">

实现仅允许输入英文字母、数字及下划线的功能,下文将提供两种具体实现方式。


<input name="username" type="text"
style="ime-mode:disabled">
<input name="username" type="text"
onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

实现仅允许输入英文字母、数字以及特定符号(=@#)的功能。


<input name="username" type="text" onkeyup="value=value.replace(/[^\w=@#]|_/ig,'')">

实现仅允许输入汉字的功能。


<input name="username" type="text"
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

数字输入的具体正则表达式

实现仅允许输入数字的功能。


<input name="username" type="text"
onkeyup="value=this.value.replace(/\D+/g,'')">

实现仅允许输入英文字母、数字及下划线的功能,下文将提供两种具体实现方式。


<input name="username" type="text"
style="ime-mode:disabled">
<input name="username" type="text"
onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

实现仅允许输入英文字母、数字以及特定符号(=@#)的功能。


<input name="username" type="text"
onkeyup="value=value.replace(/[^\w=@#]|_/ig,'')">

实现仅允许输入汉字的功能。


<input name="username" type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

常用的数字正则表达式包括:仅允许输入数字使用"^[0-9]*$";限制为n位数字使用"^\d{n}$";限制至少n位数字使用"^\d{n,}$"。

限制为m至n位数字使用"^\d{m,n}$";限制为零或非零开头的数字使用"^(0|[1-9][0-9]*)$"。

限制为包含两位小数的正实数使用"^[0-9]+(.[0-9]{2})?$"。

限制为包含1至3位小数的正实数使用"^[0-9]+(.[0-9]{1,3})?$";限制为非零的正整数使用"^\+?[1-9][0-9]*$"。

限制为非零的负整数使用"^\-[1-9][]0-9"*$";限制为固定长度3的字符使用"^.{3}$"。

字母与字符串格式验证

限制为由26个英文字母组成的字符串使用"^[A-Za-z]+$";限制为由26个大写英文字母组成的字符串使用"^[A-Z]+$"。

限制为由26个小写英文字母组成的字符串使用"^[a-z]+$";限制为由数字和26个英文字母组成的字符串使用"^[A-Za-z0-9]+$"。

限制为由数字、26个英文字母或下划线组成的字符串使用"^\w+$"。

密码与特殊字符验证

验证用户密码的正则表达式为"^[a-zA-Z]\w{5,17}$",其正确格式要求以字母开头,长度在6至18之间,且只能包含字符、数字和下划线。

验证是否含有^%&',;=?$\"等特殊字符的正则表达式为"[^%&',;=?$\x22]+"。

汉字输入与防粘贴处理

限制仅输入汉字的正则表达式为"^[\u4e00-\u9fa5]{0,}$"。

限制仅输入数字和小数点,并防止用户粘贴非法内容。


<input type=""text" onkeyup="value=value.replace(/[^0-9.]/g,''),dxfqlld();" onpaste="value=value.replace(/[^0-9.]/g,'')" oncontextmenu="value=value.replace(/[^0-9.]/g,'')" />
作者最新文章