ng-pattern (regex) 验证驱动器号
ng-pattern (regex) to validate drive letters
我在使用正则表达式时遇到了一些困难。任何帮助将不胜感激。
问题:我想在用户在路径中输入驱动器号时显示错误。
例如:如果用户输入 C:\ 或 D:\ 或 S:\ .... 表单应显示错误。
如果有人输入 //remote server/example.txt 它应该允许他们继续。
http://plnkr.co/edit/jyKfOdnctnhCkIeT4r2Z?p=preview
<form name='myform'>
<input type="text" name='ip' ng-model="usd" ng-pattern="/^[a-zA-Z]:*$/"
ng-change="convert_to_btc()" placeholder="Enter path"/>
ng-pattern
需要一个 "positive" 正则表达式,一些模式定义了正确的字符串。因此,当您定义 ^[a-zA-Z]:*$
时,这意味着您只允许以 ASCII 字母开头的字符串,然后 :
零次或多次,直到字符串结尾。
你需要一个负面的前瞻:
ng-pattern="/^(?![a-zA-Z]:\)/"
^^^ ^
如果字符串开头后有一个 ASCII 字母,然后是 :
,然后是 \
。
,则 (?![a-zA-Z]:\)
前瞻会导致匹配失败
如果你需要禁止字母 + :
+ \
不仅在字符串的开头使用
ng-pattern="/^(?!.*\b[a-zA-Z]:\)/"
^^
我在使用正则表达式时遇到了一些困难。任何帮助将不胜感激。
问题:我想在用户在路径中输入驱动器号时显示错误。
例如:如果用户输入 C:\ 或 D:\ 或 S:\ .... 表单应显示错误。 如果有人输入 //remote server/example.txt 它应该允许他们继续。
http://plnkr.co/edit/jyKfOdnctnhCkIeT4r2Z?p=preview
<form name='myform'>
<input type="text" name='ip' ng-model="usd" ng-pattern="/^[a-zA-Z]:*$/"
ng-change="convert_to_btc()" placeholder="Enter path"/>
ng-pattern
需要一个 "positive" 正则表达式,一些模式定义了正确的字符串。因此,当您定义 ^[a-zA-Z]:*$
时,这意味着您只允许以 ASCII 字母开头的字符串,然后 :
零次或多次,直到字符串结尾。
你需要一个负面的前瞻:
ng-pattern="/^(?![a-zA-Z]:\)/"
^^^ ^
如果字符串开头后有一个 ASCII 字母,然后是 :
,然后是 \
。
(?![a-zA-Z]:\)
前瞻会导致匹配失败
如果你需要禁止字母 + :
+ \
不仅在字符串的开头使用
ng-pattern="/^(?!.*\b[a-zA-Z]:\)/"
^^