Что такое регулярное выражение C#, это проверит валюту, плавание или целое число?

Короче использовать фильтр и уменьшить

const findById = inWhere => ({ _id }) => !!inWhere.find(t => t._id === _id)

const html_option = array1
   .filter(findById(array2))
   .reduce((html, ({_id, name}) => 
        html += `<option value=${_id} selected>${name}</option>`, ''))
8
задан Peter Mortensen 15 April 2011 в 12:18
поделиться

6 ответов

Можно использовать regex csmba при создании одной небольшой модификации к нему.

^\$?(\d{1,3},?(\d{3},?)*\d{3}(.\d{0,3})?|\d{1,3}(.\d{2})?)$
14
ответ дан 5 December 2019 в 06:39
поделиться

Я думаю, что ssg является правильным. Это не действительно хорошее использование Regex, особенно если Ваше программное обеспечение должно иметь дело с неамериканским центральным вводом данных.

Например, если обозначением денежной единицы является Евро, или японская иена или британский фунт какая-либо другая дюжина обозначений денежной единицы там?

Что относительно правил форматирования чисел?

В США Вы вошли бы 1,000,000.00 но во Франции, это должно быть 1.000.000,00. Другие страны позволяют располагать с интервалами между группировкой цифры...

Если Вы используете прямой Regex, не принимая Культуру во внимание, то Вы никогда не собираетесь проверять успешно, если Вы не будете на 100% уверены, что Ваше программное обеспечение никогда не будет использоваться в неамериканском центральном контексте.

5
ответ дан 5 December 2019 в 06:39
поделиться
^\$?(\d{1,3},?(\d{3},?)*\d{3}(\.\d{1,3})?|\d{1,3}(\.\d{2})?)$
3
ответ дан 5 December 2019 в 06:39
поделиться

Будьте осторожны с плаваниями. В конечном счете Вы поразите случай такой как 0,01 представленных как 0,00999999. Строки или целые числа лучше для использования.

1
ответ дан 5 December 2019 в 06:39
поделиться

Попробуйте этого. Возможно, требуется некоторую точную настройку, чтобы только допускать единственную десятичную точку, но это действительно соответствует Вашим тестовым сценариям. Я надеюсь, что это помогает.

[$\d,.]+
0
ответ дан 5 December 2019 в 06:39
поделиться

Используйте это регулярное выражение для валюты США \ $ (\ D) * \ d Матчи 300, 12900 долларов Несоответствие $ 12900,00

0
ответ дан 5 December 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: