Это специальные символы, цифры и алфавиты, которые мне нужно проверить, если пользователь вводит, если пользователь не вводит в соответствии с приведенными ниже критериями, выдает предупреждение.
- (da sh)
- (подчеркивание)
- (точка)
- (
- Пробел
- )
- &
- $
- #
- Нумер c
- Альбахет
Для этого у меня есть регулярное выражение, с которым я придумал, с помощью некоторых статей в Интернете
Мой регулярное выражение
/^\w\s-.()&$#/
-- Here, \w matches letter , digits and underscores
-- \s matches spaces table and line breaks.
-- - matches the hypen in the character set example [a-z]
Пример - str передается как
- Name123 & ---- true
- Name 123 $ ---- true
- Name @@@ ---- False, поскольку @ недопустимо
- Name -._ & ---- Верно
- Name@._& $ --- Неверно, поскольку @ недопустимо
- Имя. [] --- Ложно, поскольку [] недопустимо
function checkfirmName(str) {
var pattern = new RegExp(/^\w\s-.()&$#/); //acceptable char
if (pattern.test(str)) {
return true; //good user input
}
alert("Please only use \nUnderScore,Dot,(,Space,),&,$,# \nThese are only allowed\n");
return false; // bad user input
}
Я также не уверен, работает ли тестовое расширение (оно возвращает true-false), но не уверен, что оно выполняет итерацию и проверяет каждый символ, поэтому я нашел другой фрагмент кода, используя indexof:
function isValid(str) {
var iChars = "/^\w\s-.()&$#/";
for (var i = 0; i < str.length; i++) {
if (iChars.indexOf(str.charAt(i)) != -1) {
$.alert("File name has should have special characters \nUnderScore,Dot,(,Space,),&,$,# \nThese are only allowed\n");
return false;
}
}
return true;
}