阻止用户输入特殊字符.仅允许a-z 0-9.

我如何检查诸如*、&、%,£、在用户输入字符串.我工作是一个注册脚本的代码,我试图让自己不要用别人的代码吧,因为我并没有好处学习JavaScript.如果你碰巧知道我如何做我想做的事,你也可以解释吗?多谢.

# 回答1

过滤用户的文本输入的一个方法是使用正则表达式.

选择 | 换行 | 行号
  1. function validText(str){
  2.     return str.replace(/[^a-zA-Z0-9]/g,'');
  3. }

这将删除任何字符不在范围中列出的表达式.你可能想要扩大模式名称,包括卡罗尔O ' conner和爱德华•默罗"和迈克尔Wilkenson-Barre

# 回答2

所以如果我要扩大到包括下划线(_),hyphons(-)我会这样做:

选择 | 换行 | 行号
  1. (/[^a-ZA-Z0-9_-]g, '');
  2.  

?顺便说一下,这并不是说我想替换字符,我只是想检查他们,提醒用户的问题.谢谢你的解释,也!

# 回答3

因为使用连字符分隔字符的范围必须逃避用反斜杠前:/ (^ \ w \] /这里的\ w是一个常用的快捷方式,它是描述的模式/ / [^ a-zA-Z0-9_)和领导脱字符号(^意味着不匹配任何描述的范围.
# 回答4

多谢:)——马克.

标签: Javascript

添加新评论