我有JavaScript代码来检查特殊字符是否在字符串中.该代码在Firefox中运行良好,但在Chrome中无效.在Chrome中,即使字符串不包含特殊字符,它也会包含特殊字符.
var iChars = "~`!#$%^&*+=-[]\\\';,/{}|\":<>?";
for (var i = 0; i < chkfile.value.length; i++)
{
if (iChars.indexOf(chkfile.value.charAt(i)) != -1)
{
alert ("File name has special characters ~`!#$%^&*+=-[]\\\';,/{}|\":<>? \nThese are not allowed\n");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
假设我想desktop.zip从任何Linux/Windows机器上传文件.值的值chkfile.value是desktop.zip在Firefox中,但在Chrome中的值chkfile.value是c://fakepath/desktop.zip.我该如何摆脱c://fakepath/从chkfile.value?
Koo*_*Inc 41
您可以使用此正则表达式测试字符串:
function isValid(str){
return !/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(str);
}
Run Code Online (Sandbox Code Playgroud)
Kof*_*ffy 12
直接来自w3schools网站:
var str = "The best things in life are free";
var patt = new RegExp("e");
var res = patt.test(str);
Run Code Online (Sandbox Code Playgroud)
要将他们的示例与正则表达式结合起来,您可以执行以下操作:
function checkUserName() {
var username = document.getElementsByName("username").value;
var pattern = new RegExp(/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/); //unacceptable chars
if (pattern.test(username)) {
alert("Please only use standard alphanumerics");
return false;
}
return true; //good user input
}
Run Code Online (Sandbox Code Playgroud)
Vis*_*dar 11
试试这个。
function containsSpecialCharacters(str){
var regex = /[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/g;
return regex.test(str);
}Run Code Online (Sandbox Code Playgroud)
你有没有写什么return true地方?你应该写它,否则函数什么也不返回,程序也可能认为它是假的。
function isValid(str) {
var iChars = "~`!#$%^&*+=-[]\\\';,/{}|\":<>?";
for (var i = 0; i < str.length; i++) {
if (iChars.indexOf(str.charAt(i)) != -1) {
alert ("File name has special characters ~`!#$%^&*+=-[]\\\';,/{}|\":<>? \nThese are not allowed\n");
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我在我的 chrome 控制台中试过这个,效果很好。
| 归档时间: |
|
| 查看次数: |
99747 次 |
| 最近记录: |