- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个正则表达式来测试用户输入是否有效:
value.length === 0 ||
value === '-' ||
(!isNaN(parseFloat(value)) && /^-?\d+\.?\d*$/.test(value))
要点在正则表达式中:/^-?\d+\.?\d*$/
。然而,sonarcloud 认为它是一个安全热点,并表示:
确保此处使用的正则表达式(由于回溯而容易受到超线性运行时的影响)不会导致拒绝服务。
我猜这是因为两位数测试的原因,但我找不到办法避免它。它是安全威胁还是无害?
1 Câu trả lời
该警告是由两组数字之间的可选 .
引起的。这可能意味着正则表达式引擎将回溯以与 \d+
匹配更少的数字,并与 \d*
匹配更多的数字,但总是得出相同的结论:它不匹配.
您可以通过以下方式避免这种情况:
^-?\d+(\.\d*)?$
这样,只有当存在分隔点时,\d*
模式才会发挥作用。这意味着相同的输入字符不可能被考虑用于 \d+
模式,以及稍后(回溯之后)的 \d*
模式。
关于regex - 匹配负/正 float/int 正则表达式 - 这是邪恶的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73137567/
Tôi có nút cộng/trừ và không muốn người dùng có thể chọn quá 20 nhưng không biết cách sử dụng nút này. Tôi đã thử sử dụng các thuộc tính min="1" max="5" nhưng chúng không hoạt động. Đây là mã của tôi và liên kết fiddle. https://jsf
Tôi đang cố gắng sao chép một biểu đồ trên cùng/dưới cùng như ví dụ ở đây nhưng nó không hiển thị chính xác (chuỗi màu tím có giá trị +ve và -ve, màu xanh lá cây là giá trị âm) và để lại các hiện tượng lộn xộn. Tôi cũng đang vật lộn để tạo ra một ví dụ đồ chơi để sao chép vấn đề này, vì vậy tôi hy vọng rằng mặc dù tôi thiếu dữ liệu, vẫn có một số
Đã đóng. Câu hỏi này không đáp ứng được hướng dẫn của Stack Overflow. Hiện tại không chấp nhận câu trả lời. Câu hỏi này có vẻ không liên quan đến lập trình trong phạm vi được xác định trong trung tâm trợ giúp. . Đã đóng cửa cách đây 6 năm. Cộng đồng đã xem xét năm ngoái
Câu hỏi này đã có câu trả lời ở đây: Cộng hai số nguyên dương sẽ cho kết quả âm. Tại sao? (4 câu trả lời) Đã đóng 5 năm trước. Tôi gặp phải một vấn đề lạ
Có ai biết cách chuyển đổi kiểu giá trị chuỗi -4,5 hoặc 5,4 thành double -4.5 hoặc 5.4 không? Câu trả lời tốt nhất là chỉ cần sử dụng Double.parseDouble(Locale, String); Ồ, tôi bị kẹt quá
Tôi đang cố gắng chèn một cột khung dữ liệu mới chỉ chứa các chuỗi 'tích cực' hoặc 'tiêu cực' dựa trên phân loại TextBlob: Đối với hàng đầu tiên của df của tôi, kết quả là ( pos , 0,75, 0,24999999999999997) Tôi muốn 'tích cực'
Tôi rất mới với VBA và không hiểu làm thế nào để thực hiện 2 tác vụ trong một vòng lặp. Tôi thực sự rất cảm kích sự giúp đỡ của bạn. Tôi đã có thể thay đổi các giá trị ở cột 2 dựa trên dữ liệu ở cột 3, nhưng tôi không hiểu cách đổi phông chữ của các giá trị âm thành màu đỏ. Kích thước của bảng là hàng tháng
Xin chào, tôi đang sử dụng jquery để gửi biểu mẫu qua POST. Đây là cách tôi nhận được giá trị. var mytext = $("#textareaid").val(); var dataStrin
double d = 0; // giá trị thập phân ngẫu nhiên với phần nguyên của nó nằm trong phạm vi Int32 và luôn luôn là p
Tôi có chuỗi này: var a='abc123#xyz123'; Tôi muốn xây dựng 2 hàm thay thế regex: 1) Thay thế tất cả các ký tự có '#' trong tương lai (trừ '#') bằng '*' Vì vậy, kết quả sẽ như thế này
Tôi đang sử dụng DialogFragment. Khi người dùng tương tác với văn bản chỉnh sửa trong hình ảnh ví dụ bên dưới từ màn hình ứng dụng Gmail trên máy tính bảng, tôi muốn các nút dương và âm vẫn nằm phía trên bàn phím. Trong nỗ lực của tôi, nó không hoạt động, đây là Dia của tôi
Từ cuốn sách Art of Assembly, tôi đã sao chép câu này: Trong hệ thống bổ sung của hai, bit HO của một số là bit dấu. Nếu HO
Có cách nào tốt hơn và thanh lịch hơn để triển khai mã đơn giản sau đây không (diffYear, A và B là các số): diffYear = yearA - yearB; if (diffYear == 0) { A = B
Tôi đang thiết kế một ngôn ngữ và đang cố gắng quyết định xem giá trị đúng nên là 0x01 hay 0xFF. Rõ ràng là tất cả các giá trị khác không sẽ được chuyển thành true, nhưng tôi đang cố gắng xác định biểu diễn bên trong chính xác. Ưu và nhược điểm của từng lựa chọn là gì? Câu trả lời tốt nhất không quan trọng, miễn là
Trong OnCreateDialog của lớp dialogfragment của tôi, tôi đang thực hiện điều này: AlertDialog.Builder builder = new AlertDialog.Builder
Câu hỏi này đã có câu trả lời ở đây: Giải quyết tình trạng quá tải mơ hồ trên con trỏ hàm và std::function cho lambda usein
Tôi đã tình cờ phát hiện ra một hành vi kỳ lạ của NSDecimalNumber: đối với một số giá trị nhất định, khi gọi integerValue, longValue, longLongValue, v.v., sẽ trả về các giá trị không mong muốn. Ví dụ:
Câu hỏi này đã có câu trả lời tại đây: Giải quyết tình trạng quá tải mơ hồ trên con trỏ hàm và std::function cho lambda bằng cách sử dụng
Tôi có biểu thức chính quy này để kiểm tra xem dữ liệu đầu vào của người dùng có hợp lệ hay không: value.length === 0 || value === '-' || (!isNaN(parseFloat(value)) && /^-?\d+\.
Tôi muốn áp dụng mô hình hỗn hợp Gaussian vào một tập dữ liệu, tập dữ liệu này chứa khoảng 120 nghìn mẫu, mỗi mẫu có khoảng 130 chiều. Khi tôi thực hiện việc này bằng matlab, tôi chạy tập lệnh (số cụm là 1000): gm = fitgmdist(d
Tôi là một lập trình viên xuất sắc, rất giỏi!