Ich schrieb den untenstehenden Code für die Validierung einer Eingabe von Formular für die Annahme von Handy-Nummern mit der Bedingung der maximalen Nummer 11 und starten mit 0 andernfalls zeigen Sie den Fehler: Bitte geben Sie eine gültige HandynummerWie validiere ich ein Eingabefeld zu Moble Nummer
Ich habe eine Funktion geschrieben, aber es funktioniert nicht richtig. Wenn ich eine Zahl über 11 setze, wird das Formular wahr. Auch wenn ich eine Nummer ohne 0 geschrieben habe, wird sie akzeptiert. hier ist mein Codes:
$('#mobili').focusout(function() {
$('#mobili').filter(function() {
var mobi = $('#mobili').val();
var mobiback = $('#mobili');
var mobilReg = /(\+989|9|09)(12|19|35|36|37|38|39|32)\d{7}/;
if (!mobilReg.test(mobi)) {
$('#mobili').css('background-color', '#ff6666');
$("#error-nwl").css('color', '#ff6666');
$("#error-nwl").text("please enter a valid mobile number");
} else {
$('#mobili').css('background-color', '#66cc66');
$("#error-nwl").css('color', '#66cc66');
$("#error-nwl").text("ok");
}
})
});
<html>
<head>
<title>Untitled Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<form id="myform">
<input type="tel" name="field1" id="mobili" />
<input type="submit" />
<div id="error-nwl"></div>
</form>
</body>
</html>
Ich glaube, dass, wenn Sie den Beginn der Zeichenfolge '^' und Ende der Zeichenkette 'plus $' Anker es wollen, wie Sie funktionieren würde. '/^(\ + 989 | 9 | 09) (12 | 19 | 35 | 36 | 37 | 38 | 39 | 32) \ d {7} $ /' –
Sie sagen, dass die Nummer 11 Ziffern lang sein und mit beginnen soll 0, aber Ihre Regex wird eine Gruppe von 10 Ziffern erfassen, beginnend mit einer 0, 11 Ziffern beginnend mit 09 oder 12 Ziffern beginnend mit +989. Gaby's Kommentar ist korrekt über das Hinzufügen der Anker, aber welche Art von Nummer versuchen Sie tatsächlich zu erfassen? – denmch
@denmch ich möchte eine Handynummer eingeben mit 0 beginnen – inaz