Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Проверка строки на соответствие правил именования DNS

Ответить
Настройки темы
VBS/WSH/JS - Проверка строки на соответствие правил именования DNS

Старожил


Сообщения: 161
Благодарности: 5

Профиль | Отправить PM | Цитировать


Может, есть у кого готовый скрипт?
Есть строка вида device.domain.zone.
Необходимо её проверить на соответствие правилам именования DNS, то есть: англ. буквы, точка, тире, цифры, если что-то не так - выдать error. Как проверить - я примерно понимаю с помощью RegExp, но как проверить, чтобы в строке не было, допустим, 2-3-много точки подряд? 2-3 тире?

Отправлено: 14:40, 28-11-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Ну, попробуйте (последние четыре элемента):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim arrDNSName
Dim elem


arrDNSName = Array( _
				"device.domain.zone", _
				"Device1.domain1.ru", _
				"device--2.domain.1.ru3", _
				"45-deVice.3.domain-4.5ru", _
				"45-deVice..domain-4.5ru", _
				"45-deVice.3.domain--4.5ru", _
				"45-deVice.3.domain-.5ru", _
				"45-deVice.3.-domain.5ru", _
				"45-deVice.3.domain-4.5ru.", _
				"dev_ice.domain.ru", _
				"dev__ice.domain.ru", _
				"_device.domain.ru", _
				"device_.domain.ru" _
			)

With WScript.CreateObject("VBScript.RegExp")
	.IgnoreCase = False
	
	For Each elem In arrDNSName
		.Pattern    = "^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9]))*$"
		
		If .Test(elem) Then
			.Pattern = "-{2,}"
			
			If Not .Test(elem) Then
				.Pattern = "_{2,}"
				
				If Not .Test(elem) Then
					WScript.Echo "Match:     " & elem
				Else
					WScript.Echo "Not match: " & elem
				End If
			Else
				WScript.Echo "Not match: " & elem
			End If
		Else
			WScript.Echo "Not match: " & elem
		End If
	Next
End With

WScript.Quit 0

Отправлено: 14:26, 15-03-2020 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 161
Благодарности: 5

Профиль | Отправить PM | Цитировать


Iska, спасибо! Все работает прекрасно.

Отправлено: 21:05, 18-03-2020 | #32



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Проверка строки на соответствие правил именования DNS

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Глюк с одним из правил встроенного брандмауэра,вообще не настраивается одно из правил интерактивный Microsoft Windows 7 0 11-07-2009 07:06
проверка работоспособности DNS сервера piling Microsoft Windows NT/2000/2003 14 21-05-2009 13:02
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 dimait Вебмастеру 4 23-08-2007 02:02
Редактирование DNS из командной строки keyF Сетевые технологии 2 29-12-2004 19:08
Как изменить из командной строки DNS на клиенте? Myckyc Сетевые технологии 1 26-08-2003 04:20




 
Переход