9.5.过滤文本输入框
问题
我想过滤掉用户输入的某些内容
解决办法
设置文本框的restrict 属性
讨论
默认下用户可输入任何字符,但是有些情况我们希望只能输入合法的字符,比如电话号码文本框只能输入数字和横线。
TextField 的restrict 属性可以指定允许的字符被输入,比如:下面的字符是允许的:
这样就只能输入a, b, c, d, e, f, 或g了,其他字符都被过滤掉了。
如果restrict设为空字符串,那么代表可以输入任何字符,如果想过滤所有字符,则可把type属性设为DYNAMIC。
另外我们还要注意字符是有大小写之分的,换句话说字符a和A是不同的,如上面的restrict 属性设置为abcdefg,但是AB等大写字符仍然可以输入。
restrict 属性支持一定的正则表达式,如果你想指定一个范围的字符可用-符号分开,像下面那样:
另外也可指定不允许的字符输入,不过需要(^)开头:
下面的例子都是设置为不允许的:
还可以指定Unicode 编码的字符,比如不允许(Control-Z) 产生的字符:
还有些特殊符号,可通过(\\)进行转义:
restrict 属性只影响用户输入的字符进行过滤,但不会对程序产生的字符串进行过滤。
我想过滤掉用户输入的某些内容
解决办法
设置文本框的restrict 属性
讨论
默认下用户可输入任何字符,但是有些情况我们希望只能输入合法的字符,比如电话号码文本框只能输入数字和横线。
TextField 的restrict 属性可以指定允许的字符被输入,比如:下面的字符是允许的:
+展开
-ActionScript
field.restrict = "abcdefg";
这样就只能输入a, b, c, d, e, f, 或g了,其他字符都被过滤掉了。
如果restrict设为空字符串,那么代表可以输入任何字符,如果想过滤所有字符,则可把type属性设为DYNAMIC。
另外我们还要注意字符是有大小写之分的,换句话说字符a和A是不同的,如上面的restrict 属性设置为abcdefg,但是AB等大写字符仍然可以输入。
restrict 属性支持一定的正则表达式,如果你想指定一个范围的字符可用-符号分开,像下面那样:
+展开
-ActionScript
field.restrict = "a-zA-Z"; // 只允许大小写字母
field.restrict = "a-zA-Z "; // 只允许大小写字母和空格
field.restrict = "0-9"; // 只允许数字
field.restrict = "a-zA-Z "; // 只允许大小写字母和空格
field.restrict = "0-9"; // 只允许数字
另外也可指定不允许的字符输入,不过需要(^)开头:
下面的例子都是设置为不允许的:
+展开
-ActionScript
field.restrict = "^abcdefg"; //不允许a 到g 的字母
field.restrict = "^a-z"; // 不允许所有小写字母
field.restrict = "0-9^5"; // 允许除了5之外的数字
field.restrict = "^a-z"; // 不允许所有小写字母
field.restrict = "0-9^5"; // 允许除了5之外的数字
还可以指定Unicode 编码的字符,比如不允许(Control-Z) 产生的字符:
+展开
-ActionScript
field.restrict = "^\u001A";
还有些特殊符号,可通过(\\)进行转义:
+展开
-ActionScript
field.restrict = "0-9\\-"; // 允许数字和横线
field.restrict = "0-9\\^"; //允许数字和^
field.restrict = "0-9\\\\"; // 允许数字和斜杆
field.restrict = "0-9\\^"; //允许数字和^
field.restrict = "0-9\\\\"; // 允许数字和斜杆
restrict 属性只影响用户输入的字符进行过滤,但不会对程序产生的字符串进行过滤。
加支付宝好友偷能量挖...