JavaScript 常用文本框输入格式验证正则表达式汇总

作者:拾光时间:2026-10-25 11:55:46浏览:249

本文汇总了JavaScript中用于验证文本框输入格式的常用正则表达式。涵盖非空判断、中英文数字混合限制、特殊符号过滤及防粘贴控制等场景,提供具体的HTML事件绑定代码与正则写法,帮助开发者快速实现前端表单校验。

非空与基础格式验证

若需确保输入框内容不能为空,可使用 onblur 事件结合正则替换空格后判断字符串长度。示例代码为:<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">。

英文与数字混合限制

限制输入框仅允许英文字母和数字时,可通过 onblur 校验或 onkeyup 实时替换非法字符实现。第一种方式在失去焦点时检测是否包含非 [0-9a-zA-Z] 字符并提示错误;第二种方式在按键抬起时利用 value.replace(/[^0-9a-zA-Z]/g,'') 移除非法字符;第三种方式则使用 onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" 达到相同效果。

特定字符组合与首字符限制

判断字符串是否由字母、数字、下划线或点号组成,且首字符必须为下划线或字母,可使用正则 /^([a-zA-z_]{1})([\w]*)$/g 进行匹配测试。

纯数字与特定符号限制

若需限制输入框仅接受数字,可在 onKeyUp 和 onafterpaste 事件中调用 value.replace(/\D/g,''),以移除所有非数字字符。示例代码为:<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,'')" onafterpaste="value=value.replace(/\D/g,'')" >。

中文、英文及混合内容验证

限制输入框仅允许中文输入时,可在 onkeyup 事件中利用正则 /[^\u4E00-\u9FA5]/g 替换非中文字符。示例代码为:<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">。

限制输入框仅允许英文字母时,可通过 onkeyup 事件结合正则 /[^\a-\z\A-\Z]/g 或 /[^a-zA-Z]/g 移除非法字符。示例代码包括:<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')"> 和 <input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">。

若需允许输入中文、英文、数字、@符号及点号,可在 onkeyup 事件中利用正则 /[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g 替换非法字符。示例代码为:<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">。

防粘贴与交互控制

若需限制仅允许英文输入,并禁止粘贴及右键菜单,可在 onkeyup 中过滤非英文字符,同时绑定 onkeydown="fncKeyStop(event)"、onpaste="return false" 及 oncontextmenu="return false" 以阻止非法操作。示例代码为:<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false"/>。

限制输入框仅允许数字和点号时,需注意正则中 \d 不能写为大写 D,否则将匹配除数字外的所有字符。示例代码为:<input name="price" type="text" size="8" maxlength="8" onkeyup="value=value.replace(/[^\d\.]/g,'')" >。

正则表达式通用规则与字符集

通用规则为在 <input> 标签中添加 onkeyup="value=value.replace(/[^\X]/g,'')",并将正则中的 X 替换为所需的字符集或符号即可实现相应限制。

常用字符集正则表示法包括:中文为 u4E00-u9FA5,数字为 d 或 0-9,英文为 a-z 或 A-Z。其他符号如 @、点号等可通过反斜杠转义后组合使用。例如,同时允许中、英文、数字、@符号和点号的正则可写为:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\。

若需禁止在文本框中通过右键弹出菜单或粘贴内容,可在 <input> 标签中绑定 onKeyDown="fncKeyStop(event)"、onpaste="return false" 及 oncontextmenu="return false;" 以实现控制。

作者最新文章