如何用jQuery Inputmask限制输入仅为字母、数字与空格?
解决jQuery.Inputmask允许字母、数字及空格的输入限制问题
你可以通过插件的正则表达式模式或自定义字符定义来实现需求,以下是两种可行方案:
方案一:直接使用正则规则
替换你当前的代码为以下内容,通过regex参数指定允许的字符范围:
$(document).ready(function () { $("#<%=TextBox_DataFieldTitle.ClientID%>").inputmask({ regex: "[A-Za-z0-9 ]+", placeholder: "", greedy: false }); });
regex: "[A-Za-z0-9 ]+":明确允许大小写字母、数字和空格,+表示至少输入1个字符(若允许空输入,可改为*)placeholder: "":移除插件默认的占位符(如下划线),按需调整greedy: false:支持任意长度的合法输入,而非固定长度
方案二:自定义字符集定义
通过definitions自定义一个代表合法字符的规则,再用掩码指定输入格式:
$(document).ready(function () { $("#<%=TextBox_DataFieldTitle.ClientID%>").inputmask({ definitions: { '~': { validator: "[A-Za-z0-9 ]", cardinality: 1 } }, mask: "~*", placeholder: "" }); });
definitions中的~是自定义标识,其validator限定了允许的字符mask: "~*"表示允许输入任意数量的该自定义字符
额外提示
- 若需要限制输入长度,可修改正则为
[A-Za-z0-9 ]{1,20}(表示1-20个字符) - 确保使用的jQuery.Inputmask是较新版本,旧版本对正则的支持可能存在局限
内容的提问来源于stack exchange,提问作者Prescott Chartier
相关产品推荐
相关产品推荐

