Ich verwende eine Regex, um eine QuickInfo anzuzeigen, wenn das Muster des Benutzers nicht mit dem gewünschten Muster übereinstimmt.Regex - Dezimalzahl (12,2)
Die Regeln sind:
- Muss 1 bis 10 Ziffern entsprechen oder weniger. Bsp .: 1234567890 oder 0 oder 123 .... 0 Ziffern ist leer. Nicht erlaubt.
- Muss mit maximal 10 Ziffern oder weniger und einem Punkt übereinstimmen. Beispiel: 1234567890 oder 12. oder 1. oder 0.
- Muss mit maximal 10 Ziffern oder weniger und einem Punkt übereinstimmen. und 1 oder 2 Ziffern nach dem Punkt. Bsp .: 1.1 oder 1234.23 oder 1234567890.1 oder 1234567890.12 OR .1 ODER .21
- Nur
.
ist nicht erlaubt.
Bisher habe ich dieses Muster ^\d{0,8}?(\.)?(\d{1,2})?$
Link aber ich kann nicht erkennen, wie alle Bedingungen auf einmal passen.
Dieses Muster kann nicht 1234567890.12
(es sollte) übereinstimmen. Und es ist der Punkt allein .
(sollte nicht übereinstimmen). Einige Post, die ich gefunden habe, lösen das Problem nicht link.
Was fehlt mir?
Die komplette Funktion
$('.validation').bind({
keyup:function(){
//var objectEvent=$(this);
var objectId=$(this).attr("id");
var objectEvent=$("#"+objectId);
if(objectId=="txt_Attend"){
var ck_input = /^\d+$/;
var msg="Oops! Only numbers 1-9 are allowed";
var extraVal ="0";
}
else if(objectId=="txt_SalesYTD"||objectId=="txt_PrevSales"){//alert(objectId);
//var ck_input = /^\d{0,10}((\.\d{1,2})?|(?<=\d)\.)$/;
var ck_input = /^(?!\.$)\d{0,10}(?:\.(?:\d\d?)?)?$/;
var msg="Enter a valid value. Ex: 123.35";
var extraVal ="";
//alert(ck_input);
}
var input = $.trim(objectEvent.val());
var validationTest =ck_input.test(input);
//alert(validationTest);
//QTY field Validation --------------------------------------------------------------------------------------------------
if(!validationTest||input===extraVal){//If not match ck_input
//alert("algo errado"+input);
objectEvent.val('');//Clear input field
objectEvent.attr('data-original-title',msg);
objectEvent.tooltip('show');
setTimeout(function(){
objectEvent.tooltip('hide');
objectEvent.removeAttr('title');
objectEvent.removeAttr('data-original-title');
} , 2500); //Wait 2,5 seconds
}
else{//If validation match ck_input
objectEvent.tooltip('hide');
objectEvent.removeAttr('title');
objectEvent.removeAttr('data-original-title');
}//End of else if(!validationTest||input==='0'){
}//Fim keyUp
});//End of $('.validation').bind({
Hallo Kasramvd Ihr Muster ist passend nicht '.1' und' .12' – zwitterion
@zwitterion ich das Muster bearbeitet haben, versuchen Sie es jetzt. – Kasramvd