2015-12-23 2 views
11

Ich verwende eine ng-pattern, um nach ONLY-Nummern in meiner Eingabe zu suchen. Aber für mich funktioniert das nicht. Ich kann characters nach der number eingeben. Wie kann ich das einschränken?`ng-pattern` - wie man nur nach Zahlen sucht?

hier mein Code:

<div ng-app ng-controller="formCtrl"> 
<form name="myForm" ng-submit="onSubmit()"> 
    <input type="text" ng-model="price" name="price_field" ng-pattern="/^[0-9]/" required> 
    <span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span> 
    <input type="submit" value="submit"/> 
</form> 
</div> 

Live Demo

+0

Nur Nummer in Ihrem Textfeld zu akzeptieren ich denke, besser können Sie type = "number" in Ihrem Eingabe-Tag verwenden. –

+0

Sie können sich auf diesen Thread beziehen: http://stackoverflow.com/questions/19827570/validate-natural-input-number-with-ngpattern – Shivi

Antwort

20

Mit diesem Ausdruck

ng-pattern="/^[0-9]*$/" 

UPDATE:

für die einzigen Zeichen zu akzeptieren, können Sie wie folgt verwenden.

ng-pattern="/^[a-zA-Z]*$/" 
+0

Ok. Zum Akzeptieren von Charaktern kann ich 'ng-pattern ="/^ [a-z] [A-Z] * $/"' -? – user2024080

+0

Was ist die genaue Anforderung? –

+0

müssen nur Zeichen (Name Feld) – user2024080

4

diese regex Versuchen: Es sollte /^[0-9]+$/ + Zeichen arbeiten für die Annahme einer oder mehreren Ziffern ist.

2

ng-pattern="/^[0-9]*$/" // Änderung

ng-pattern="/^\d{1,10}$/" 

HINWEIS: ‚\ d‘ kann nicht nur 0-9 überprüfen, auch für viele Stellen wie griechische Ziffern

+0

warum möchten Sie es ändern? Was ist der Vorteil in diesem Ansatz? – user2024080

Verwandte Themen