在做项目的时候,我们经常会遇到控制input输入框允许输入的值为数字,字母,汉字或者混排的情况,那么我们怎么来处理呢,下面我们就来探讨怎么通过用javascript正则来实现
1、只允许输入数字
?
1 | < input name = "username" type = "text" onkeyup = "value=this.value.replace(/\D+/g,'')" > |
2、只允许输入英文字母、数字和下划线(以下二种方法实现)
?
1 2 | < input name = "username" type = "text" style = "ime-mode:disabled" > < input name = "username" type = "text" onkeyup = "value=value.replace(/[^\w\.\/]/ig,'')" > |
3、只允许输入英文字母、数字和=@#
?
1 | < input name = "username" type = "text" onkeyup = "value=value.replace(/[^\w=@#]|_/ig,'')" > |
4、只允许输入英文大写字母和数字
?
1 | <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、只允许输入汉字
?
1 | < input name = "username" type = "text" onkeyup = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')" > |
【过滤文字输入】
?
1 2 | TextField.restrict = "此处为可输入的内容" ; field.restrict = "^此处为禁止输入的内容" ; |
restrict属性支持一些类似正则表达式的样式:
?
1 2 3 4 5 6 | 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字符包含具有特殊意义的字母(例如-和^):
?
1 2 3 | field.restrict = "0-9\\-" ; //允许数字和破折号 field.restrict = "0-9\\^" ; //允许数字和^ field.restrict = "0-9\\\\" ; //允许数字和反斜杠 |
你也可以使用Unicode转义序列,指定允许的内容.例如:
?
1 | field.restrict = "^\u001A" ; |
注意:ActionScript有区分大小写的,如果restrict属性设为abc,允许字母的大写形式(A,B和C)输入时会变成小写对待形式(a,b和c),反之亦然.restrict属性只影响用户可以输入的内容,脚本可将任何文本放入文本字段中.