本文汇总了JavaScript中通过onkeyup事件结合正则表达式限制Input输入值的方法,包括仅允许数字、英文字母、特定字符及汉字等场景。同时介绍了ActionScript中TextField的restrict属性用法,涵盖字符范围、排除特定字符及Unicode转义序列的应用,帮助开发者实现精确的输入控制。
JavaScript限制Input输入值的方法
1、仅允许输入数字
<input name="username" type="text" onkeyup="value=this.value.replace(/\D+/g,'')">
2、仅允许输入英文字母、数字及下划线(提供以下两种实现方式)
<input name="username" type="text" style="ime-mode:disabled">
<input name="username" type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
3、仅允许输入英文字母、数字以及字符=@#
<input name="username" type="text" onkeyup="value=value.replace(/[^\w=@#]|_/ig,'')">
4、仅允许输入英文大写字母与数字
<input name="name" type="text" value="只录入大写字母和数字" style="color:gray" onfocus="this.value='';this.style.color='black'" onkeyup="this.value=this.value.replace(/[^A-Z0-9]/gi,'');this.value=this.value.toLocaleUpperCase();
5、仅允许输入汉字
<input name="username" type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
ActionScript restrict属性应用
【过滤文字输入】
TextField.restrict = "此处为可输入的内容";
field.restrict = "^此处为禁止输入的内容";
restrict属性支持类似正则表达式的语法:
field.restrict = "a-zA-z"; //只允许大小字母
field.restrict = "a-zA-z "; //只允许字母和空格
field.restrict = "0-9"; //只允许数字
field.restrict = "^abcdefg"; //除了小写字母abcdefg不允许外,其它都允许
field.restrict = "^a-z"; //所有小写字母都不允许,但是,其它内容都允许,包括大写字母
field.restrict = "0-9^5"; //只允许数字,但5例外
使restrict字符包含具有特殊意义的字母(例如-和^):
field.restrict = "0-9\\-"; //允许数字和破折号
field.restrict = "0-9\\^"; //允许数字和^
field.restrict = "0-9\\\\"; //允许数字和反斜杠
亦可使用Unicode转义序列指定允许的内容。例如:
field.restrict = "^\u001A";
注意:ActionScript区分大小写,若restrict属性设为abc,输入大写形式(A,B,C)将被视为小写(a,b,c),反之亦然。restrict属性仅限制用户输入,脚本仍可向文本字段写入任意文本。