Мне нужно регулярное выражение, которое вернет false, если мое значение содержит какие-либо буквы

#javascript

#javascript

Вопрос:

Мне нужно регулярное выражение, которое вернет false, если ValueA содержит какие-либо буквы. Мне нужны письма, отклоненные в основном

Примеры:

1) test1 => отклонить 2) test => отклонить 3) 123 => принять

             this.validateLetters = (valueA): boolean => {
                const regex = /^[a-zA-Z] $/;
                return regex.test(valueA);
            };
  

Я использую javascript

Комментарии:

1. Можете ли вы описать, что вы подразумеваете под «буквами»? Если вы имеете дело с областью символов Юникода, вы можете столкнуться с проблемами с регулярными выражениями на основе JS.

2. вы хотите, чтобы оно отклоняло буквы или принимало цифры ?

3. принимайте числа и отклоняйте буквы

4. Это будет из основного текстового поля ввода

5. Итак … вы хотите, чтобы оно просто принимало числа. По определению буквы будут отклонены.

Ответ №1:

Используемое регулярное выражение /^[0-9] $/

Вы должны заменить на * , если допустима пустая строка

 console.log(/^[0-9] $/.test("10.22")); 
console.log(/^[0-9] $/.test(10.22)); 
console.log(/^[0-9] $/.test('')); 
console.log(/^[0-9] $/.test('test1')); 
console.log(/^[0-9] $/.test('test')); 
console.log(/^[0-9] $/.test('123')); 
console.log(/^[0-9] $/.test('{}'));
console.log(/^[0-9] $/.test('//'));
console.log(/^[0-9] $/.test('()'));  

Комментарии:

1. я сделал это: console.log(/^[0-9]*$/. тест («)); и в нем говорилось, что он содержит буквы

Ответ №2:

Итак, насколько я понимаю, вы просто хотите принимать числа или?

 const regex = /([0-9])/g;
regex.test("123"); //true
regex.test("123a"); //false
  

Что вы также можете сделать, кроме каждой «буквы»:

 const regex = /([^A-Za-z])/g;
  

Но будьте осторожны с этим! Он также распознает пробелы и другие символы.

Или вы говорите о символах Юникода? Это может быть немного сложнее с javascript.

Комментарии:

1. @bashOne Я хочу проверить, есть ли какая-либо буква только из строки

2. @AngularM так вы тоже хотите принимать символы? Значит, условием являются только буквы?

Ответ №3:

/[^a-zA-Z]/g

^ Кроме оператора. g Глобальный оператор.

Это регулярное выражение не будет соответствовать никаким буквам от Az и az.

Оно будет соответствовать числам и другим символам.

Комментарии:

1. 123!"£$%^amp;*()_ ?@:~><¬[]{}| ;'# также допустимо, но OP хотел только числа

2. Предположительно. Честно говоря, я действительно запутался, чего хочет OP — он говорит, что хочет отклонить буквы, но также говорит, что хочет цифры (в этом случае отклонение буквы не имеет значения). Он также на самом деле не указал, является ли что-то еще допустимым, но и не просил, чтобы что-то еще было допустимым.

3. Тогда, возможно, вам следует спросить еще раз, я думаю, что эти регулярные выражения решают вашу текущую объясненную проблему.