我有一个字符串,我想验证该字符串,使它不能包含某些字符,如“/""&";“等等……我怎么能一下子验证所有这些呢?
72qzrwbm1#
你可以用正则表达式来解决这个问题!
mystring = "hello" yourstring = "bad & string" validRegEx = /^[^\\\/&]*$/ alert(mystring.match(validRegEx)) alert(yourstring.match(validRegEx))
如果匹配正则表达式,则返回字符串,如果无效,则返回null!说明:
/
"
validRegEx
[
]
\\
\/
&
*
+
xdyibdwo2#
我会使用正则表达式。参见Mozilla. org上的this guide。这个article也给予了JavaScript中正则表达式的一个很好的介绍。
yh2wf1be3#
Here是一篇关于JavaScript验证的好文章。请记住,您也需要在服务器端进行验证。JavaScript验证很容易被规避,因此出于安全原因,例如防止SQL注入或XSS攻击,永远不要使用它。
bkkx9g8r4#
你可以学习正则表达式,或者(如果你一次只检查一个字符,可能更简单)你可以有一个字符列表,然后用某种sanitize函数从字符串中删除每个字符。
sanitize
var myString = "An /invalid &string;"; var charList = ['/', '\\', '&', ';']; // etc... function sanitize(input, list) { for (char in list) { input = input.replace(char, ''); } return input }
那么:
sanitize(myString, charList) // returns "An invalid string"
mcdcgff05#
你可以使用test方法和正则表达式:
function validString(input){ return !(/[\\/&;]/.test(input)); } validString('test;') //false
bkkx9g8r6#
你可以使用regex。例如,如果您的字符串匹配:
[\\/&;]+
那么它是无效的。查看:http://www.regular-expressions.info/javascriptexample.html
olmpazwi7#
你可以使用regular expression。
hvvq6cgz8#
正如其他人回答的那样,你可以用regexp解决这个问题,但记住还要检查服务器端的值。不保证用户已激活JavaScript。永远不要相信用户输入!
8条答案
按热度按时间72qzrwbm1#
你可以用正则表达式来解决这个问题!
如果匹配正则表达式,则返回字符串,如果无效,则返回null!
说明:
/
的)而不是引号("
的)。validRegEx
的第一个和最后一个字符使它匹配整个字符串,而不仅仅是部分,克拉将其锚定在开头,美元符号将其锚定在结尾。[
和]
)是一个字符类,它匹配任何字符,只要它在类中。里面的第一个字符,一个克拉,意味着这个类被否定,以匹配字符类中没有提到的字符。如果它被省略,类将匹配它指定的字符。\\
和\/
是反斜杠转义的,因为反斜杠本身是其他东西的转义序列,而正斜杠会让解析器误以为它已经到达了正则表达式的末尾(与转义字符串中的引号完全类似)。&
)没有特殊意义,不可转义。*
)意味着无论什么前缀,它都应该被匹配零次或更多次,这样字符类就可以吃掉尽可能多的不是正斜杠、反斜杠或&号的字符,如果它找不到任何字符,也包括零。如果你想确保匹配的字符串是非空的,你可以用加号(+
)代替它。xdyibdwo2#
我会使用正则表达式。
参见Mozilla. org上的this guide。这个article也给予了JavaScript中正则表达式的一个很好的介绍。
yh2wf1be3#
Here是一篇关于JavaScript验证的好文章。请记住,您也需要在服务器端进行验证。JavaScript验证很容易被规避,因此出于安全原因,例如防止SQL注入或XSS攻击,永远不要使用它。
bkkx9g8r4#
你可以学习正则表达式,或者(如果你一次只检查一个字符,可能更简单)你可以有一个字符列表,然后用某种
sanitize
函数从字符串中删除每个字符。那么:
mcdcgff05#
你可以使用test方法和正则表达式:
bkkx9g8r6#
你可以使用regex。例如,如果您的字符串匹配:
那么它是无效的。查看:http://www.regular-expressions.info/javascriptexample.html
olmpazwi7#
你可以使用regular expression。
hvvq6cgz8#
正如其他人回答的那样,你可以用regexp解决这个问题,但记住还要检查服务器端的值。不保证用户已激活JavaScript。永远不要相信用户输入!