вам сначала нужно ограничить пользователя, введя неправильные символы, вы можете сделать это, используя текстовое поле KeyPress event
Private Sub txtemailid_KeyPress(ByVal sender As System.Object,
ByVal e As System.Windows.FormsKeyPressEventArgs) Handles txtemailid.KeyPress
Dim ac As String = "@"
If e.KeyChar <> ChrW(Keys.Back) Then
If Asc(e.KeyChar) < 97 Or Asc(e.KeyChar) > 122 Then
If Asc(e.KeyChar) <> 46 And Asc(e.KeyChar) <> 95 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
If ac.IndexOf(e.KeyChar) = -1 Then
e.Handled = True
Else
If txtemailid.Text.Contains("@") And e.KeyChar = "@" Then
e.Handled = True
End If
End If
End If
End If
End If
End If
End Sub
, указанный выше код позволит пользователю вводить az (small), от 0 до 9 (цифры), @,., _
и после использования проверки события управления текстовым полем для проверки идентификатора электронной почты с использованием регулярного выражения
Private Sub txtemailid_Validating(ByVal sender As System.Object,
ByVal e As System.ComponentModel.CancelEventArgs)
Handles txtemailid.Validating
Dim pattern As String = "^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z][a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$"
Dim match As System.Text.RegularExpressions.Match = Regex.Match(txtemailid.Text.Trim(), pattern, RegexOptions.IgnoreCase)
If (match.Success) Then
MessageBox.Show("Success", "Checking")
Else
MessageBox.Show("Please enter a valid email id", "Checking")
txtemailid.Clear()
End If
End Sub
Откройте файл package.json
и проверьте узел devDependencies
. У него есть машинописная версия, используемая в проекте, как показано ниже.
"typescript": "^2.4.0",
Вы также можете использовать командную строку, как предложил Sajeetharan в ответе ниже.
Чтобы узнать версию машинописного текста, установленную на моем компьютере, используйте эту команду в командной строке.
tsc - версия
Чтобы узнать версию Typescript, используйте:
ng -v
Это позволит вывести версию машинописного текста и другие версии зависимостей. Мое шоу, как показано ниже:
@angular-devkit/architect 0.7.1
@angular-devkit/build-angular 0.7.1
@angular-devkit/build-optimizer 0.7.1
@angular-devkit/build-webpack 0.7.1
@angular-devkit/core 0.7.1
@angular-devkit/schematics 0.7.1
@angular/cli 6.1.1
@ngtools/webpack 6.1.1
@schematics/angular 0.7.1
@schematics/update 0.7.1
rxjs 6.2.2
typescript 2.7.2
webpack 4.9.2
В моем Ubuntu 18.04 LTS с установленной угловой 7 cli я набрал
ng v
, и он дал результат:
Node: 11.8.0
OS: linux x64
Angular: 7.2.2
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.12.3
@angular-devkit/build-angular 0.12.3
@angular-devkit/build-optimizer 0.12.3
@angular-devkit/build-webpack 0.12.3
@angular-devkit/core 7.2.3
@angular-devkit/schematics 7.2.3
@angular/cli 7.2.3
@ngtools/webpack 7.2.3
@schematics/angular 7.2.3
@schematics/update 0.12.3
rxjs 6.3.3
typescript 3.2.4
webpack 4.28.4
Если вы хотите, чтобы точная версия была установлена как зависимость пакета, используйте команду ls
:
npm ls typescript
В качестве альтернативы, вы можете запустить tsc
с флагом -v
:
Если установлено локально:
node_modules\.bin\tsc -v
Если установлено глобально:
tsc -v
ПРИМЕЧАНИЕ. Если вы планируете проверять package.json на наличие номера версии, помните, что символ ^ 2.4 .0 означает, что вы можете получить 2.4.x, 2.5.x 2.6.x и т. Д. ^
сообщает, что младшая версия будет автоматически обновлена до последней версии после новой установки или npm update
.
Если номеру версии предшествует ~
(т.е. ~ 2.4.0), то номер патча автоматически обновляется при новой установке или обновлении. Это означает, что может быть установлена любая из следующих версий: 2.4.0, 2.4.1, 2.4.2 и т. Д., Но не 2.5.x